Medium severity · published Jun 22, 2026
CVE-2026-54270
protobufjs: Memory amplification from preserved unknown fields in binary decode
5.3
CVSS
0.4%
EPSS
No
On KEV
Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. From 8.2.0 to 8.4.2, protobufjs preserved unknown wire elements in message.$unknowns and did not provide a decode-time option to discard unknown fields before retaining them. A crafted protobuf payload containing many unknown fields could therefore cause a decoded message to retain substantially more memory than the input size would suggest, even when unknown-field round-tripping is not needed. protobufjs 8.5.0 added the relevant decode-time options, allowing applications that decode untrusted protobuf data to disable unknown-field retention during decode. protobufjs 8.6.2 flips the default so unknown fields are discarded unless explicitly opted into.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
Low
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 34% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PR
protobuf.js · protobufjs
>=8.2.0, < 8.5.0 · source: vendor
PR
Protobufjs · Protobufjs Project
8.2.0 before 8.5.0 · source: NVD
Affected product
PR
protobuf.js
protobufjs
More from protobuf.js
9.8
CVE-2026-41242
protobufjs has an arbitrary code execution issue
8.8
CVE-2026-44293
protobufjs: Code injection through bytes field defaults in generated toObject code
8.7
CVE-2026-44295
protobufjs-cli: Code injection in pbjs static output from crafted schema names
8.1
CVE-2026-44291
protobufjs: Code generation gadget after prototype pollution
7.8
CVE-2026-42290
protobufjs-cli: OS Command Injection