Skip to content
OpenAdvisories
Low · 2.9 CVE-2026-118781 EUVD-2026-113339GHSA-h6cr-wjv9-3cpp

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

Published Oct 29, 2026 · Updated Oct 30, 2026 · Assigned by GitHub_M

Description

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 unsigned and cannot trigger this issue. This issue is fixed in version 1.4.1.

Affected products

VendorProductAffectedFixed
digitalbazaar forge < 1.4.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS node-node-forge No fix yet —
Ubuntu 20.04 LTS node-node-forge No fix yet —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python-tensorboard No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling jitsucom-jitsu-console 2.11.0-r42 —
Wolfi rolling kubeflow-centraldashboard 2.0.0-r8 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm node-forge < 1.4.1 1.4.1 GHSA-h6cr-wjv9-3cpp

References