Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-119186 · GHSA-5cwg-6vw7-rj6p

Forge: AES-GCM authentication bypass via unvalidated tagLength option

Risk score
45/100
CVSS
5.9 v3.1
Published
29 Oct 2026

Open in the live forecast Today's forecast

What to know

What it is
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 un…
Affected
node-forge (npm) <= 1.4.0
Fix
Upgrade node-forge to 1.4.1 or later.
Exploitation
Public proof of concept

Story map

Story map: node-forgeTHE FLAWSTHE FIXCVE-2026-119186Forge: AES-GCM authenticationbypass via unvalidatedtagLength optionCVSS 5.9CVE-2026-118779Forge: Regular expressiondenial of service in PEMdecoding (pem.decode)CVSS 7.5CVE-2026-118782Forge: PKCS#12 MAC forgeryand constant-key PBE via zeroiteration countCVSS 7.5CVE-2026-119187Forge: Denial of service in TLSrecord processing via call stackexhaustionCVSS 7.5Upgrade node-forge1.4.1or later on your release lineWho is exposednode-forge (npm) <= 1.4.0AMBER · PATCH THIS WEEKnode-forgeForge (also called node-forge) isa native implementation ofTransport Layer Security inJavaScript. Prior to 1.4.1, theaffected implementation usedpem.decode(), lib/pem.js, missingEND line to process the…Where it standsPublic proof of conceptCONNECTS TOSame weaknessCWE-354 (CWE-354)14 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

node-forge: Amber, patch this week. 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(), inclu…

The flaws

  • CVE-2026-119186: Forge: AES-GCM authentication bypass via unvalidated tagLength option (CVSS 5.9)
  • CVE-2026-118779: Forge: Regular expression denial of service in PEM decoding (pem.decode) (CVSS 7.5)
  • CVE-2026-118782: Forge: PKCS#12 MAC forgery and constant-key PBE via zero iteration count (CVSS 7.5)
  • CVE-2026-119187: Forge: Denial of service in TLS record processing via call stack exhaustion (CVSS 7.5)

The fix

Upgrade node-forge: 1.4.1 or later on your release line

Who is exposed: node-forge (npm) <= 1.4.0

Where it stands

  • Public proof of concept

Connects to

Why it is Yellow

  • CVSS 5.9 medium
  • Public exploit or proof of concept referenced
  • On your watchlist: npm

Affected packages

PackageEcosystemVulnerableFixed in
node-forgenpm<= 1.4.01.4.1

References

Original description

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 length are unaffected. This issue is fixed in version 1.4.1.

Last activity 30 Oct 2026. Patch Forecast updates every hour.