LiveActive security incident?Get immediate response
CVE Record

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.

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

Applications using Forge before 1.4.0 may freeze and consume all available CPU when vulnerable cryptographic code receives a zero value. This threatens service availability, but the sources do not indicate data theft, data modification, or confirmed exploitation in the wild.

Executive priority

Prioritize internet-facing or multi-tenant services where attacker-influenced data reaches Forge cryptographic operations. Patch promptly because one request may consume a process indefinitely. Lower the immediate priority only after confirming the vulnerable version is absent or the affected function is unreachable.

Technical view

The bundled jsbn BigInteger.modInverse() implementation can enter an infinite loop when processing zero. Its Extended Euclidean Algorithm never reaches an exit condition, hanging the process at 100% CPU. Forge 1.4.0 patches the flaw. CVSS 3.1 rates it 7.5, reflecting network-reachable, unauthenticated availability impact.

Likely exposure

Exposure exists where applications deploy node-forge versions below 1.4.0 and untrusted or remotely influenced values can reach BigInteger.modInverse(). Installing the package alone does not establish exploitability; dependency versions, deployed artifacts, and application call paths must be examined.

Exploitation context

The CVSS vector describes network-accessible exploitation without privileges or user interaction, but actual reachability depends on application integration. The supplied record is not in KEV, and the cited source bundle provides no evidence of active exploitation or a public weaponized exploit.

Researcher notes

CWE-606 and CWE-835 align with an unchecked loop condition and infinite loop. The defect originates in Forge's bundled jsbn code. The source bundle identifies the fixing commit, but does not document observed attacks, exploit prevalence, or every application-level input path.

Mitigation direction

  • Upgrade node-forge/forge to version 1.4.0 or later.
  • Rebuild and redeploy every application image or bundle containing an affected version.
  • Review vendor and Red Hat guidance for packaged dependencies and applicable errata.
  • Temporarily prevent untrusted values from reaching BigInteger.modInverse() until upgrades are complete.

Validation and detection

  • Check manifests, lockfiles, SBOMs, and deployed bundles for node-forge versions below 1.4.0.
  • Confirm dependency resolution and production artifacts contain version 1.4.0 or later.
  • Review application call paths for untrusted input reaching BigInteger.modInverse().
  • Monitor affected services for sustained CPU saturation and unexplained process hangs.
  • Run availability regression tests after upgrading; avoid deliberately triggering production systems.
Prepared
Confidence
high
Sources
4

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.

Open ATT&CK lookup
cwe · low confidence lookup

CWE-835: 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.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2026-33891 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

2CVSS vectors
5Timeline events
2ADP providers
11Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: partial

CVSS vector scores

2 official scores

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.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6GitHub_M
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6redhat-SADP

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2026-33891Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. ADP timelineredhat-SADP

    Made public.

  3. CVE publishedCVE Program

    The CVE record was published.

  4. ADP timelineredhat-SADP

    Reported to Red Hat.

  5. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
other:ssvc
redhat-SADPnode-forge: node-forge: Denial of Service via infinite loop in BigInteger.modInverse()
other:Red Hat severity ratingcvssV3_1
  • 2026-03-27T21:01:34.410Z: Reported to Red Hat.
  • 2026-03-27T20:43:37.725Z: Made public.

Source materials

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
digitalbazaarforge< 1.4.0Listed
Weakness

CWE details

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.

CWE-835 · source CWE mapping

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.