GitHub Advisoryadvisory · npm
GHSA-65ch-62r8-g69g node-forge is vulnerable to ASN.1 OID Integer Truncation
MEDIUM
Official page ↗
- Aliases
- CVE-2025-66030
- Ecosystem
- npm
- Packages
- node-forge
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-190
- Reviewed
- 2025-11-26
Affected packages
• npm node-forge: < 1.3.2 → fixed in 1.3.2
Description
Summary
MITRE-Formatted CVE Description
An Integer Overflow (CWE-190) 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.
Description
An ASN.1 OID Integer Truncation vulnerability exists in the node-forge `asn1.derToOid` function within `forge/lib/asn1.js`. OID components are decoded using JavaScript's bitwise left-shift operator (`<<`), which forcibly casts values to 32-bit signed integers. Consequently, if an attacker provides a mathematically unique, very large OID arc integer exceeding $2^{31}-1$, the value silently overflows and wraps around rather than throwing an error.
Impact
This vulnerability allows a specially crafted ASN.1 object to spoof an OID, where a malicious certificate with a massive, invalid OID is misinterpreted by the library as a trusted, standard OID, potentially bypassing security controls.
This vulnerability impacts the `asn1.derToOid` function in `node-forge` before patched version `1.3.2`.
Any downstream application using this component is impacted. This component may be leveraged by downstream applications in ways that enables partial compromise of integrity, leading to potential availability and confidentiality compromises.
Related
Alias · CVE (1)
- CVE-2025-66030 Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. vulnerability
Weakness · CWE (1)
- CWE-190 Integer Overflow or Wraparound weakness