CVE-2026-44290 is a prototype-pollution vulnerability in protobufjs before 7.5.6 and from 8.0.0 through 8.0.1. When protobufjs loads a crafted Protocol Buffers schema or JSON descriptor, unsafe option paths can traverse inherited object properties during option application. This permits writes to properties of global JavaScript constructors, corrupting process-wide built-in behavior.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a small standalone Python proof-of-concept for CVE-2026-44289, with the README also listing related CVEs affecting protobuf.js. The repository contains 6 files: a README, license, requirements, a CVE naming template, and one executable Python PoC file. The main and only code file, cve-2026-44289.py, implements a simplified recursive protobuf decoder class and a payload generator. Core capability: the PoC creates a deeply nested length-delimited protobuf-style payload using generate_deep_nested_payload(), then feeds it into VulnerableProtobufDecoder.decode(), which recursively decodes nested messages without a depth limit when run in vulnerable mode. This demonstrates uncontrolled recursion leading to RecursionError / simulated stack overflow, i.e., a denial-of-service condition. In safe mode, the same decoder is instantiated with a max_depth limit to show how the issue can be mitigated. Exploit structure: - VulnerableProtobufDecoder.decode(): recursively parses varint tags and length-delimited nested fields; the recursive self.decode(nested_data, depth + 1) call is the vulnerable behavior. - generate_deep_nested_payload(depth): constructs attacker-controlled nested binary input by repeatedly wrapping the previous payload in field 1, wire type 2. - _encode_varint(value): helper for protobuf-style varint encoding. - main(): CLI interface supporting payload generation and decode testing. Operationally, this is not a remote exploit and contains no shell, command execution, callback, or persistence logic. It is a local PoC / lab demonstrator for parser denial of service. No network services, IPs, or C2 endpoints are present. The only fingerprintable runtime artifact is the default payload file path payload.bin. The requirements file mentions protobuf and google-api-python-client, but the PoC itself relies only on Python standard library modules (argparse, sys, struct, typing). Overall, the repository’s purpose is educational demonstration of uncontrolled recursion in protobuf decoding rather than weaponized exploitation.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
7 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A vulnerability in protobufjs schema-option handling allows crafted protobuf schemas or JSON descriptors to modify properties on global JavaScript constructors, corrupting process-wide built-in functionality. The listed CVSS v3 score is 7.5, reflecting high availability impact. Fixes are available in versions 7.5.6 and 8.0.2.
A protobufjs denial-of-service vulnerability triggered by a crafted schema.
High-severity prototype pollution vulnerability in protobufjs that allows a crafted protobuf schema or JSON descriptor to corrupt global process functionality and cause denial of service.
A process-wide denial-of-service vulnerability in protobuf.js triggered when loading schemas with unsafe option paths.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.