CVE-2026-33891: 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.
Security readout for executives and security teams
Plain-English summary
CVE-2026-33891 is a denial-of-service flaw in Forge, also known as node-forge. A specific zero input to a math routine can make affected applications hang and consume CPU indefinitely. The issue affects versions before 1.4.0 and is patched in 1.4.0.
Executive priority
Treat as a high-priority availability issue for internet-facing or business-critical services using Forge. It does not indicate data theft, but a vulnerable reachable path could tie up CPU and disrupt service.
Technical view
Forge before 1.4.0 contains an infinite loop in BigInteger.modInverse(), inherited from bundled jsbn. When modInverse() receives zero, the Extended Euclidean Algorithm can enter an unreachable exit condition, causing 100% CPU and process hang. The CVSS 3.1 score is 7.5, availability impact high.
Likely exposure
Exposure is likely in JavaScript or Node.js applications that directly or transitively include digitalbazaar forge versions below 1.4.0 and execute the vulnerable modInverse() path with attacker-influenced input.
Exploitation context
The provided sources do not show CISA KEV listing or active exploitation. The CVSS vector indicates remote, unauthenticated, low-complexity availability impact, but practical exploitability depends on whether application logic reaches modInverse() with zero input.
Researcher notes
Key evidence is the GitHub advisory and fixing commit. The vulnerability maps to CWE-606 and CWE-835. Current evidence names digitalbazaar forge below 1.4.0 only; do not broaden scope without vendor confirmation.
Mitigation direction
Upgrade forge or node-forge to version 1.4.0 or later.
Review lockfiles and SBOMs for transitive forge versions below 1.4.0.
Apply relevant Red Hat advisories where packaged products are in scope.
Check vendor guidance if upgrade timing or distribution packaging is unclear.
Validation and detection
Confirm no deployed application resolves forge below version 1.4.0.
Identify services that call or bundle BigInteger.modInverse() from forge/jsbn.
Verify dependency scanners flag CVE-2026-33891 and close after upgrade.
Review Red Hat CSAF or errata applicability for managed platforms.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-606: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-606 · source CWE mapping
Unchecked Input for Loop Condition
Unchecked Input for Loop Condition represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Loop with Unreachable Exit Condition ('Infinite Loop')
Loop with Unreachable Exit Condition ('Infinite Loop') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.