Live › vulnerability › CVE-2026-118776
node-forge accepts malformed PKCS#7 padding in CBC and ECB decryption, validating only the final byte. Malformed ciphertext can be accepted and up to four plaintext blocks silently dropped, breaking integrity in apps that treat successful decryption as proof of valid padding.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-29 19:26 UTC. All times on this page are UTC.
Applications that use node-forge for CBC or ECB decryption and rely on a successful decrypt call as proof that the padding and data are valid. Projects that do not decrypt with these modes, or that verify integrity separately (such as an authenticated mode or a MAC), are less exposed.
No product ranges from the sources yet.
npm ls node-forge and look for anything below 1.4.1forge.cipher or decipher.finish() used with CBC or ECB modes1.4.1 or laterEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-118776")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.