Skip to main content
← All vulnerabilities
CVE-2026-118776EUVD-2026-113333

Forge: Incomplete PKCS#7 padding validation in AES/DES CBC and ECB decryption

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.4.1
None on Exploit-DB, Metasploit or GitHub

Summary

Forge (node-forge), a JavaScript implementation of Transport Layer Security, is affected when it performs AES or DES decryption in CBC or ECB mode. The library checks only the last padding byte, so malformed ciphertext can be accepted and up to four plaintext blocks can be silently dropped, which can break data integrity in applications that assume a successful decryption means the padding was valid.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original 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 decipher.finish(), CBC and ECB modes, PKCS#7 padding to process the relevant input or security decision. node-forge validated only the final byte of PKCS#7 padding during CBC and ECB decryption and accepted zero, oversized, or mismatched padding bytes. Malformed ciphertext could consequently be accepted and up to four plaintext blocks could be silently removed, causing an integrity failure in applications that treated successful decryption as proof of valid padding. This issue is fixed in version 1.4.1.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • digitalbazaar forge

    fixed in 1.4.1

References 3

GitHub · digitalbazaar/forge