Bump node-forge from 1.3.1 to 1.4.0
Closed
Number: #231
Type: Pull Request
State: Closed
Type: Pull Request
State: Closed
Author:
dependabot[bot]
Association: Unknown
Comments: 3
Association: Unknown
Comments: 3
Created:
March 26, 2026 at 11:15 PM UTC
(3 months ago)
(3 months ago)
Updated:
May 01, 2026 at 02:25 AM UTC
(about 2 months ago)
(about 2 months ago)
Closed:
May 01, 2026 at 02:24 AM UTC
(about 2 months ago)
(about 2 months ago)
Time to Close:
about 1 month
Labels:
dependencies Stale javascript
dependencies Stale javascript
Description:
Bumps node-forge from 1.3.1 to 1.4.0.
Changelog
Sourced from node-forge's changelog.
1.4.0 - 2026-03-24
Security
- HIGH: Denial of Service in
BigInteger.modInverse()
- A Denial of Service (DoS) vulnerability exists due to an infinite loop in the
BigInteger.modInverse()function (inherited from the bundled jsbn library). WhenmodInverse()is called with a zero value as input, the internal Extended Euclidean Algorithm enters an unreachable exit condition, causing the process to hang indefinitely and consume 100% CPU.- Reported by Kr0emer.
- CVE ID: CVE-2026-33891
- GHSA ID: GHSA-5gfm-wpxj-wjgq
- HIGH: Signature forgery in RSA-PKCS due to ASN.1 extra field.
- RSASSA PKCS#1 v1.5 signature verification accepts forged signatures for low public exponent keys (e=3). Attackers can forge signatures by stuffing "garbage" bytes within the ASN.1 structure in order to construct a signature that passes verification, enabling Bleichenbacher style forgery. This issue is similar to CVE-2022-24771, but adds bytes in an addition field within the ASN.1 structure, rather than outside of it.
- Additionally, forge does not validate that signatures include a minimum of 8 bytes of padding as defined by the specification, providing attackers additional space to construct Bleichenbacher forgeries.
- Reported as part of a U.C. Berkeley security research project by:
- Austin Chu, Sohee Kim, and Corban Villa.
- CVE ID: CVE-2026-33894
- GHSA ID: GHSA-ppp5-5v6c-4jwp
- HIGH: Signature forgery in Ed25519 due to missing S < L check.
- Ed25519 signature verification accepts forged non-canonical signatures where the scalar S is not reduced modulo the group order (S >= L). A valid signature and its S + L variant both verify in forge, while Node.js crypto.verify (OpenSSL-backed) rejects the S + L variant, as defined by the specification. This class of signature malleability has been exploited in practice to bypass authentication and authorization logic (see CVE-2026-25793, CVE-2022-35961). Applications relying on signature uniqueness (i.e., dedup by signature bytes, replay tracking, signed-object canonicalization checks) may be bypassed.
- Reported as part of a U.C. Berkeley security research project by:
- Austin Chu, Sohee Kim, and Corban Villa.
- CVE ID: CVE-2026-33895
- GHSA ID: GHSA-q67f-28xg-22rw
- HIGH:
basicConstraintsbypass in certificate chain verification.
pki.verifyCertificateChain()does not enforce RFC 5280basicConstraintsrequirements when an intermediate certificate lacks both thebasicConstraintsandkeyUsageextensions. This allows any leaf certificate (without these extensions) to act as a CA and sign other certificates, which node-forge will accept as valid.- Reported by Doruk Tan Ozturk (
@peaktwilight) - doruk.ch- CVE ID: CVE-2026-33896
- GHSA ID: GHSA-2328-f5f3-gj25
... (truncated)
Commits
fa385f9Release 1.4.0.07d4e16Update changelog.cb90fd9Update changelog.963e7c5Add unit test for "pseudonym"f0b6f5bAdd pseudonym OID3df48a3Fix missing CVE ID.2e49283Add x509basicConstraintscheck.bdecf11Add canonical signature scaler check for S < L.af094e6Add RSA padding and DigestInfo length checks.796eeb1Improve jsbn fix.- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Package Dependencies
Security Advisories
Improper Verification of Cryptographic Signature in node-forge
GHSA-cfm4-qjh2-4765
CVE-2022-24771
HIGH
### Impact
RSA PKCS#1 v1.5 signature verification code is lenient in checking the digest algorithm structure. This can allow a crafted structure that steals padding bytes and uses unchecked portio...
OpenZeppelin Contracts vulnerable to ECDSA signature malleability
GHSA-4h98-2769-gh6h
CVE-2022-35961
HIGH
### Impact
The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 by...
node-forge has an Interpretation Conflict vulnerability via its ASN.1 Validator Desynchronization
GHSA-5gfm-wpxj-wjgq
CVE-2025-12816
HIGH
### Summary
CVE-2025-12816 has been reserved by CERT/CC
**Description**
An Interpretation Conflict (CWE-436) vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated a...
Blocklist Bypass possible via ECDSA Signature Malleability
GHSA-69x3-g4r3-p962
CVE-2026-25793
HIGH
### Impact
When using P256 certificates (which is not the default configuration), it is possible to evade a blocklist entry created against the fingerprint of a certificate by using ECDSA Signatur...
Forge has a basicConstraints bypass in its certificate chain verification (RFC 5280 violation)
GHSA-2328-f5f3-gj25
CVE-2026-33896
HIGH
## Summary
`pki.verifyCertificateChain()` does not enforce RFC 5280 basicConstraints requirements when an intermediate certificate lacks both the `basicConstraints` and `keyUsage` extensions. This...
Forge has signature forgery in Ed25519 due to missing S > L check
GHSA-q67f-28xg-22rw
CVE-2026-33895
HIGH
## Summary
Ed25519 signature verification accepts forged non-canonical signatures where the scalar S is not reduced modulo the group order (`S >= L`). A valid signature and its `S + L` variant both...
Forge has signature forgery in RSA-PKCS due to ASN.1 extra field
GHSA-ppp5-5v6c-4jwp
CVE-2026-33894
HIGH
## Summary
RSASSA PKCS#1 v1.5 signature verification accepts forged signatures for low public exponent keys (e=3). Attackers can forge signatures by stuffing “garbage” bytes within the ASN structur...
Forge has Denial of Service via Infinite Loop in BigInteger.modInverse() with Zero Input
GHSA-5m6q-g25r-mvwx
CVE-2026-33891
HIGH
## Summary
A Denial of Service (DoS) vulnerability exists in the node-forge library due to an infinite loop in the BigInteger.modInverse() function (inherited from the bundled jsbn library). When ...
Technical Details
| ID: | 15579153 |
| UUID: | 4147932478 |
| Node ID: | PR_kwDOGt_Ox87N4sD0 |
| Host: | GitHub |
| Repository: | fullstack-devops/fullstack-devops.github.io |