Proto6: Six protobuf.js Vulnerabilities Expose Node.js Apps to RCE and DoS
Cybersecurity researchers at Cyera have disclosed six vulnerabilities — collectively codenamed Proto6 — in protobuf.js, a widely deployed JavaScript and TypeScript implementation of Google’s Protocol Buffers data serialization format. The flaws, spanning remote code execution (RCE) and denial-of-service (DoS) conditions, affect Node.js applications that deserialize Protobuf data or generate code from schemas using the library. With protobuf.js embedded inside databases, vector stores, AI inference pipelines, orchestration frameworks, CI/CD tooling, and cloud SDKs, successful exploitation could compromise sensitive enterprise and AI workloads at scale. patches are available in protobufjs versions 7.5.6, 8.0.2, and higher.
What Happened: Six Proto6 Vulnerabilities Disclosed in protobuf.js
On June 10, 2026, Cyera security researcher Assaf Morag published findings detailing six distinct vulnerabilities in protobuf.js, a library that powers data serialization across countless Node.js ecosystems. The flaws, collectively tracked as the Proto6 set, stem from a core design weakness: the library treats schema and metadata as trusted inputs by default, allowing attacker-controlled data to influence application behavior in dangerous ways. In affected environments, a single malicious protobuf schema, descriptor, or crafted payload could trigger crashes, runtime corruption, or code execution. The vulnerabilities affect protobuf.js versions 8.0.0 through 2.0.0, and patches have been released in protobufjs 7.5.6, 8.0.2, and protobufjs-cli 1.2.1 and 2.0.2. Organizations using the library in data-intensive or AI-connected workflows are advised to update immediately.
Technical Details of the Proto6 Vulnerabilities
All six Proto6 vulnerabilities share a common root cause: insufficient validation of schema inputs and metadata within protobuf.js. This creates multiple exploitation pathways that abuse the library’s code generation and deserialization logic. The following CVE assignments and technical summaries were published via Cyera’s research disclosure and the NVD:
- CVE-2026-44289 (CVSS 7.5) — DoS through unbounded protobuf recursion: Deeply nested or self-referencing protobuf schemas can trigger unbounded recursion during parsing, crashing the Node.js process.
- CVE-2026-44290 (CVSS 7.5) — Process-wide DoS when loading schemas with unsafe option paths: Schemas containing maliciously crafted option paths cause the library to enter an infinite loop or exhaust memory during schema loading.
- CVE-2026-44291 (CVSS 8.1) — Code generation gadget after prototype pollution: When a Node.js application accepts attacker-controlled input that reaches a prototype pollution gadget, and the same process later uses protobuf.js to encode or decode a message, an attacker can achieve arbitrary JavaScript code execution. Protobuf.js resolves type names through plain property lookups; a polluted Object.prototype can inject a string that the library treats as a valid protobuf primitive, inserts into a generated encoder/decoder function, and compiles with
Function(). - CVE-2026-44292 (CVSS 5.3) — Prototype injection in generated message constructors: Crafted field names in generated code can inject properties into JavaScript object prototypes, corrupting application state or enabling secondary attacks.
- CVE-2026-44294 (CVSS 5.3) — DoS from crafted field names in generated code: Specially crafted field names cause the generated code to enter an error state or exhaust resources when processing messages.
- CVE-2026-44295 (CVSS 8.7) — Code injection in pbjs static output from crafted schema names: A malicious schema name in pbjs static output generation is interpreted as executable JavaScript, enabling arbitrary code injection into build artifacts and CI/CD pipelines.
Affected environments include any Node.js application using protobuf.js for Protobuf serialization, Google Cloud client libraries, messaging frameworks such as Baileys (used to build WhatsApp bots), and CI/CD pipelines that generate code from schema definitions. Cloud-native and AI workloads are particularly at risk due to the pervasive use of Protobuf for inter-service communication.
Attack Scenarios: From CI/CD Poisoning to RCE in AI Pipelines
Cyera described realistic attack scenarios illustrating the severity of these flaws. In one scenario, a threat actor introduces a malicious protobuf schema into a CI/CD workflow, poisoning build artifacts and exfiltrating build secrets during the compilation process — particularly relevant given CVE-2026-44295’s code injection in pbjs output. In another scenario, a specially crafted message sent to a WhatsApp bot built using the Baileys framework causes a crash (CVE-2026-44292), demonstrating DoS impact against real-world applications. The most dangerous pathway is CVE-2026-44291: an attacker pollutes the prototype of a shared JavaScript object through a separate vulnerability or controlled input, then triggers protobuf.js encoding/decoding to achieve full RCE within the Node.js process.
Business and Operational Impact
The Proto6 vulnerabilities carry significant real-world risk due to the extraordinary depth of protobuf.js adoption. Protobuf is the default serialization format for many cloud-native services, AI/ML pipelines, and CI/CD systems. The implications span multiple categories:
- AI and Data Infrastructure: Vector stores, inference pipelines, and orchestration systems that exchange Protobuf-encoded data are directly exposed. An attacker who can inject a malicious schema could compromise training pipelines, steal model artifacts, or pivot across services.
- CI/CD and DevOps: Build systems using pbjs to generate static Protobuf code from schema definitions are vulnerable to code injection via crafted schema names (CVE-2026-44295). This could lead to credential theft, supply chain contamination, or backdoored build artifacts.
- Cloud SDKs and API Clients: Google Cloud client libraries and numerous third-party SDKs rely on protobuf.js for serialization. A compromised service or man-in-the-middle attack could exploit these vulnerabilities to gain code execution inside cloud workloads.
- Messaging and Automation: Applications built on Baileys or similar frameworks that process incoming Protobuf messages are vulnerable to DoS via crafted payloads (CVE-2026-44292). This could disrupt customer-facing bots and automation workflows.
- Compliance and Data Exposure: RCE on a Node.js service handling sensitive data could result in unauthorized access to PII, financial records, or intellectual property, creating regulatory notification obligations under GDPR, CCPA, and similar frameworks.
Mitigation and Recommendations
Immediate action is required. The following steps should be prioritized across engineering and security teams:
Immediate Actions for Development and Security Teams
- Update protobuf.js to a patched version immediately. Upgrade to protobufjs 7.5.6 or 8.0.2 (or protobufjs-cli 1.2.1/2.0.2) to address all six Proto6 vulnerabilities. Pin these versions in package.json and regenerate lockfiles.
- Audit applications for protobuf.js usage. Search codebase for
require('protobufjs')orrequire('protobufjs-cli'), and identify all services that deserialize Protobuf data from untrusted sources or generate code from external schemas. - Review CI/CD pipelines for pbjs usage. Any pipeline that runs
pbjson external or third-party schema files should be treated as a high-risk attack surface. Validate all schema sources before processing. - Implement input validation and schema verification. Treat all Protobuf schemas, descriptors, and payloads from external sources as untrusted. Validate schema signatures, restrict schema loading to trusted sources, and avoid generating code from unvalidated schemas.
- Monitor for exploitation indicators. Look for unexpected
Function()calls in application logs, unusual prototype property additions, and crashes in Protobuf deserialization paths. Deploy runtime protection (e.g., Node.js runtime self-protection) where available. - Apply principle of least privilege for Node.js processes. Restrict the privileges of Node.js processes handling external Protobuf data to limit the impact of potential RCE.
Bottom line: Patch protobuf.js to version 7.5.6, 8.0.2, or higher right now. Audit every service that deserializes Protobuf data or generates code from schemas, especially AI pipelines and CI/CD systems. Treat external schemas as attacker-controlled input until patched.
Incident Summary
| CVE IDs / Incident: | CVE-2026-44289, CVE-2026-44290, CVE-2026-44291, CVE-2026-44292, CVE-2026-44294, CVE-2026-44295 (Proto6) |
| Affected Systems: | protobuf.js versions 8.0.0 through 2.0.0; Node.js applications using protobuf.js, Google Cloud client libraries, Baileys messaging framework, CI/CD tooling with pbjs |
| Disclosure Date: | June 10, 2026 (Cyera research publication) |
| Patch Status: | Patches available in protobufjs 7.5.6, 8.0.2, and protobufjs-cli 1.2.1/2.0.2 |
| Severity Range: | CVSS 5.3 (low-medium) to CVSS 8.7 (high) |
| Researcher: | Assaf Morag, Vladimir Tokarev (Cyera) |
References
- Cyera, “Cyera Research Uncovers Six Protobuf.js Vulnerabilities Impacting the Backbone of Data and AI Systems,” June 10, 2026, https://www.cyera.com/blog/cyera-research-uncovers-six-protobuf-js-vulnerabilities-impacting-the-backbone-of-data-and-ai-systems
- Cyera, “Proto6: The Schema Was Not Supposed to Run,” June 10, 2026, https://www.cyera.com/research/proto6-the-schema-was-not-supposed-to-run
- The Hacker News, “Six Proto6 Vulnerabilities in protobuf.js Expose Node.js Apps to RCE and DoS,” June 10, 2026, https://thehackernews.com/2026/06/six-proto6-vulnerabilities-in.html
- NIST National Vulnerability Database, CVE-2026-44289, https://nvd.nist.gov/vuln/detail/CVE-2026-44289
- NIST National Vulnerability Database, CVE-2026-44290, https://nvd.nist.gov/vuln/detail/CVE-2026-44290
- NIST National Vulnerability Database, CVE-2026-44291, https://nvd.nist.gov/vuln/detail/CVE-2026-44291
- NIST National Vulnerability Database, CVE-2026-44292, https://nvd.nist.gov/vuln/detail/CVE-2026-44292
- NIST National Vulnerability Database, CVE-2026-44294, https://nvd.nist.gov/vuln/detail/CVE-2026-44294
- NIST National Vulnerability Database, CVE-2026-44295, https://nvd.nist.gov/vuln/detail/CVE-2026-44295
- protobuf.js GitHub Repository, Releases, https://github.com/protobufjs/protobuf.js/releases
SEO Information
| SEO Title: | Proto6: Six protobuf.js RCE and DoS Vulnerabilities Disclosed | June 2026 |
| SEO Slug: | proto6-protobuf-js-six-vulnerabilities-node-js-rcs-dos |
| Meta Description: | Cyera discloses six Proto6 vulnerabilities in protobuf.js affecting Node.js, AI pipelines, and CI/CD systems. CVEs range from 5.3 to 8.7 severity. Patches available in 7.5.6 and 8.0.2 — update now. |
| Focus Keyphrase: | Proto6 protobuf.js vulnerabilities |