p PatchFirst

PatchFirst · Latest vulnerabilities

node-forge vulnerabilities

Vulnerabilities published for node-forge in the last 30 days: 11. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 26

  1. CVE-2026-119190

    High · CVSS 7.4EPSS 0.25%Public exploitFix available

    Forge: X.509 basicConstraints bypass in verifyCertificateChain() via deprecated extension OIDs 2.5.29.10 and 2.5.29.13

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge parsed deprecated extension OIDs 2.5.29.10 and 2.5.29.13 as basicConstraints, and pki.verifyCertificateChain() used the first extension with that name. Exploitation requires a CA trusted by the application to issue a certificate carrying an attacker-supplied deprecated-OID extension, commonly because the CA copies extensions from a certificate signing request. By placing a permissive deprecated extension before the genuine 2.5.29.19 basicConstraints extension, the certificate holder could have the certificate accepte

    • Update to 1.4.1
    Published Updated
  2. CVE-2026-119188

    High · CVSS 7.5EPSS 0.41%Public exploitFix available

    Forge: Denial of service in TLS record processing via a record interleaved with a fragmented handshake message

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), fragmented handshake message, interleaved record to process the relevant input or security decision. node-forge continued processing after a TLS record of another content type interrupted a fragmented handshake message. A remote peer could trigger an uncaught TypeError in process(), causing the connection or hosting process to fail. This issue is fixed in version 1.4.1.

    • Update to 1.4.1
    Published Updated
  3. CVE-2026-119187

    High · CVSS 7.5EPSS 0.41%Public exploitFix available

    Forge: Denial of service in TLS record processing via call stack exhaustion

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), TLS record processing, process() to process the relevant input or security decision. node-forge processed received TLS records recursively, consuming one JavaScript stack frame per record in a single input chunk. A remote peer could send thousands of small records together and exhaust the call stack, causing an uncaught exception and denial of service. This issue is fixed in version 1.4.1.

    • Update to 1.4.1
    Published Updated
  4. CVE-2026-119186

    Medium · CVSS 5.9EPSS 0.21%Public exploitFix available

    Forge: AES-GCM authentication bypass via unvalidated tagLength option

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge did not validate the AES-GCM tagLength option passed to start() during decryption through forge.cipher.createDecipher(). When an application derived tagLength from received data or used an unset or zero-like configuration value, a value that converted to zero together with an empty or missing authentication tag caused the calculated and supplied tags to compare as empty, so decipher.finish() accepted unauthenticated ciphertext. Applications that omit tagLength to use the 128-bit default or pass a fixed valid tag leng

    • Update to 1.4.1
    Published Updated
  5. CVE-2026-118782

    High · CVSS 7.5EPSS 0.12%Public exploitFix available

    Forge: PKCS#12 MAC forgery and constant-key PBE via zero iteration count

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge accepted a PKCS#12 MAC or PKCS#12 password-based encryption iteration count of zero or less. pki.pbe.generatePkcs12Key() then returned a constant key independent of the password and salt, allowing crafted PKCS#12 input processed by forge.pkcs12.pkcs12FromAsn1() to bypass password-based integrity checks. Predictable encryption keys and IVs also affected PKCS#12 PBE using pbeWithSHAAnd3-KeyTripleDES-CBC or pbewithSHAAnd40BitRC2-CBC, including shrouded key bags, encrypted SafeContents, and PKCS#8 ENCRYPTED PRIVATE KEY i

    • Update to 1.4.1
    Published Updated
  6. CVE-2026-118781

    Low · CVSS 2.9EPSS 0.12%Fix available

    Forge: Denial of Service via infinite loop in BigInteger.modInverse() with negative input (incomplete fix of CVE-2026-33891)

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used BigInteger.prototype.modInverse(), bnModInverse(), lib/jsbn.js, RSA public exponent e to process the relevant input or security decision. node-forge's bundled jsbn implementation entered an infinite loop when BigInteger.prototype.modInverse() received a negative value or modulus. An attacker who could control the RSA public exponent passed to key generation, or a direct modInverse() operand, could block the Node.js event loop at full CPU. Parsed DER, PEM, JWK, PKCS#12, X.509, and TLS values are

    • Update to 1.4.1
    Published Updated
  7. CVE-2026-118780

    Low · CVSS 3.7EPSS 0.17%Public exploitFix available

    Forge: verifyCertificateChain() removes trusted CA certificates with the same subject from the CA store

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used pki.verifyCertificateChain(), pki.createCaStore(), duplicate subject names to process the relevant input or security decision. node-forge modified the CA store while trying certificates that shared a subject name during pki.verifyCertificateChain(). A failed chain verification could permanently remove trusted CA certificates from the store, causing later valid chains to fail and creating a persistent availability impact for applications that reused the store. This issue is fixed in version 1.4.1

    • Update to 1.4.1
    Published Updated
  8. CVE-2026-118779

    High · CVSS 7.5EPSS 0.56%Public exploitFix available

    Forge: Regular expression denial of service in PEM decoding (pem.decode)

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used pem.decode(), lib/pem.js, missing END line to process the relevant input or security decision. node-forge used polynomial-time regular expressions in pem.decode(), including when searching for a matching END line and parsing encapsulated headers. An unauthenticated attacker able to supply PEM input to any high-level parser could consume excessive CPU with a long malformed message and cause denial of service. This issue is fixed in version 1.4.1.

    • Update to 1.4.1
    Published Updated
  9. CVE-2026-118778

    Medium · CVSS 5.9EPSS 0.2%Public exploitFix available

    Forge: TLS client crash when the server sends no certificate

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), c.session.serverCertificate, RSA key exchange to process the relevant input or security decision. node-forge's TLS client checked the wrong property when deciding whether a server certificate was missing. A malicious TLS server or on-path peer could omit the Certificate message and reach code that dereferenced the absent certificate, causing an uncaught exception and terminating the connection or process. This issue is fixed in version 1.4.1.

    • Update to 1.4.1
    Published Updated
  10. CVE-2026-118777

    Medium · CVSS 4.8EPSS 0.26%Public exploitFix available

    Forge: Prototype Pollution in forge.http cookie handling via a malicious Set-Cookie

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the forge.http client stored cookie names and paths from Set-Cookie response headers in ordinary JavaScript objects. A malicious server could use the cookie name __proto__ so that the attacker-controlled cookie path was written as a property on Object.prototype, or use inherited names such as constructor to modify Object. An empty cookie value could use the removal path to delete an inherited Object.prototype property. Applications using forge.http directly or through forge.xhr are affected; applications that do not use forge.h

    • Update to 1.4.1
    Published Updated
  11. CVE-2026-118775

    Low · CVSS 3.7EPSS 0.31%Public exploitFix available

    Forge: ASN.1 OID first arc truncation in asn1.oidToDer

    Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, asn1.oidToDer() in lib/asn1.js did not range-check the first two arcs of an OID. An application that accepted an untrusted OID string, checked or authorized that string, and then encoded it with asn1.oidToDer() could emit DER representing a different, trusted OID from the one that was checked. DER parsing is not affected. This issue is fixed in version 1.4.1.

    • Update to 1.4.1
    Published Updated
  12. CVE-2026-33896

    High · CVSS 7.4EPSS 0.36%Fix available

    Forge has a basicConstraints bypass in its certificate chain verification (RFC 5280 violation)

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, `pki.verifyCertificateChain()` does not enforce RFC 5280 basicConstraints requirements when an intermediate certificate lacks both the `basicConstraints` and `keyUsage` extensions. This allows any leaf certificate (without these extensions) to act as a CA and sign other certificates, which node-forge will accept as valid. Version 1.4.0 patches the issue.

    • Update to 1.4.0
    Published Updated
  13. CVE-2026-33895

    High · CVSS 7.5EPSS 0.53%Fix available

    Forge has signature forgery in Ed25519 due to missing S > L check

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, 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., ded

    • Update to 1.4.0
    Published Updated
  14. CVE-2026-33894

    High · CVSS 7.5EPSS 0.48%Fix available

    Forge has signature forgery in RSA-PKCS due to ASN.1 extra field

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, 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 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 structure, rather than outside of it. Additionally, forge does not validate that signatures include a minimum of 8 bytes of padding as defined

    • Update to 1.4.0
    Published Updated
  15. CVE-2026-33891

    High · CVSS 7.5EPSS 0.61%Fix available

    Forge has Denial of Service via Infinite Loop in BigInteger.modInverse() with Zero Input

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, 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 modInverse() 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. Version 1.4.0 patches the issue.

    • Update to 1.4.0
    Published Updated
  16. CVE-2025-66030

    Medium · CVSS 6.3EPSS 0.33%Fix available

    node-forge ASN.1 OID Integer Truncation

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. An Integer Overflow vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft ASN.1 structures containing OIDs with oversized arcs. These arcs may be decoded as smaller, trusted OIDs due to 32-bit bitwise truncation, enabling the bypass of downstream OID-based security decisions. This issue has been patched in version 1.3.2.

    • Update to 1.3.2
    Published Updated
  17. CVE-2025-66031

    High · CVSS 8.7EPSS 0.45%Fix available

    node-forge ASN.1 Unbounded Recursion

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. An Uncontrolled Recursion vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft deep ASN.1 structures that trigger unbounded recursive parsing. This leads to a Denial-of-Service (DoS) via stack exhaustion when parsing untrusted DER inputs. This issue has been patched in version 1.3.2.

    • Update to 1.3.2
    Published Updated
  18. CVE-2025-12816

    High · CVSS 8.6EPSS 0.58%Fix available

    CVE-2025-12816

    An interpretation-conflict (CWE-436) vulnerability in node-forge versions 1.3.1 and earlier enables unauthenticated attackers to craft ASN.1 structures to desynchronize schema validations, yielding a semantic divergence that may bypass downstream cryptographic verifications and security decisions.

    • Update to 1.3.2
    Published Updated
  19. CVE-2022-24772

    High · CVSS 7.5EPSS 1.11%Fix available

    Improper Verification of Cryptographic Signature in `node-forge`

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.3.0, RSA PKCS#1 v1.5 signature verification code does not check for tailing garbage bytes after decoding a `DigestInfo` ASN.1 structure. This can allow padding bytes to be removed and garbage data added to forge a signature when a low public exponent is being used. The issue has been addressed in `node-forge` version 1.3.0. There are currently no known workarounds.

    • Update to 1.3.0
    Published Updated
  20. CVE-2022-24773

    Medium · CVSS 5.3EPSS 0.96%Fix available

    Improper Verification of Cryptographic Signature in `node-forge`

    Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.3.0, RSA PKCS#1 v1.5 signature verification code does not properly check `DigestInfo` for a proper ASN.1 structure. This can lead to successful verification with signatures that contain invalid structures but a valid digest. The issue has been addressed in `node-forge` version 1.3.0. There are currently no known workarounds.

    • Update to 1.3.0
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →