Proto6 Vulnerabilities in protobuf.js Put Node.js Apps at Risk of Code Execution and Crashes
By Mag-Info Tech editorial · 2026-06-10

What are the Proto6 vulnerabilities and why do they matter
Researchers have disclosed six vulnerabilities in protobuf.js, a widely used JavaScript and TypeScript library for Google’s Protocol Buffers. These flaws, collectively tracked as Proto6, allow attackers to trigger remote code execution (RCE) or denial-of-service (DoS) in Node.js applications that process untrusted Protobuf data. Because protobuf.js is embedded in many Node.js services, messaging bots, cloud client libraries and CI/CD pipelines, the impact spans web apps, automation tools and infrastructure automation.
The core issue is that protobuf.js treats schema and metadata as trusted by default. When an application deserializes a maliciously crafted Protobuf payload or schema, the library may execute attacker-controlled code or crash the runtime. The most severe case, CVE-2026-44291, occurs when a Node.js app accepts attacker-controlled input that reaches a prototype pollution gadget. If the same process later uses protobuf.js to encode or decode a message, a polluted Object.prototype can make an attacker-controlled string appear as a valid Protobuf primitive. Protobuf.js then inserts that string into a generated encoder or decoder function and compiles it, resulting in code execution.
Where protobuf.js is used and who is exposed
Protobuf.js is the de facto way to work with Protocol Buffers in JavaScript and TypeScript ecosystems. It is used directly by applications that serialize and deserialize Protobuf messages, and indirectly by libraries and frameworks that depend on it. Google Cloud client libraries for Node.js rely on protobuf.js under the hood, so any service using Google Cloud APIs can be affected if it deserializes untrusted data. Messaging automation libraries such as Baileys, a popular WhatsApp Web API TypeScript library, also integrate protobuf.js, making WhatsApp bots and similar chatbots vulnerable to crafted messages that crash the bot or leak secrets.
CI/CD pipelines are another exposure vector. Because protobuf.js can generate code from schemas, a malicious schema committed to a repository may poison build workflows. In one scenario, an attacker could trigger CVE-2026-44295 to leak build secrets during CI runs. Other vulnerabilities, such as CVE-2026-44292, enable specially crafted Protobuf messages to crash Node.js services, including chatbots, by exploiting deserialization flaws. Any Node.js service that accepts Protobuf data from untrusted sources—whether APIs, user uploads, or third-party integrations—should be considered potentially vulnerable.
How the vulnerabilities work under the hood
The attack chain typically begins with prototype pollution. An attacker finds or injects a payload that adds or overwrites properties on Object.prototype. When protobuf.js later resolves type names through plain property lookups, the polluted prototype can make an attacker-controlled string appear to be a valid Protobuf primitive type. During code generation, that string is inserted into encoder or decoder functions, which are then compiled and executed in the Node.js process. This leads to arbitrary code execution with the privileges of the Node.js application.

Beyond code execution, other Proto6 flaws enable memory corruption and uncontrolled resource consumption. These can crash the Node.js runtime (DoS) or leak sensitive information. For example, CVE-2026-44292 involves a crafted Protobuf message that triggers an out-of-bounds access or invalid memory access during deserialization, causing the process to terminate. CVE-2026-44295 involves schema poisoning in CI/CD contexts, where a malicious .proto file alters build behavior to expose environment variables or secrets. The common thread is that protobuf.js’s default trust model for schemas and metadata enables these attacks when untrusted input is processed.
Real-world attack scenarios and risk scenarios
In a supply-chain attack, an attacker could publish a malicious Protobuf schema to a public repository. Downstream projects that depend on protobuf.js and consume schemas from that repository would deserialize the schema during build or runtime, triggering prototype pollution or memory corruption. If the project is a chatbot or API service, the attacker could gain remote code execution on the server, enabling data theft or lateral movement.
Another plausible scenario involves a messaging platform that accepts Protobuf-encoded attachments. An attacker sends a specially crafted file that, when processed by a Node.js bot using protobuf.js, triggers CVE-2026-44292 and causes the bot to crash repeatedly. In a CI pipeline, an attacker commits a malicious .proto file that, when the pipeline runs, leaks secrets via environment variable exposure (CVE-2026-44295). These scenarios are not hypothetical: they reflect common data flows in modern web and cloud environments where schemas, configuration and payloads are exchanged across services, repositories and third-party integrations.
Who should prioritize patching and mitigation








Real results from MEFAI's AI. Get $50 off the Pro plan.
Sponsored · Past performance is not indicative of future results. Not financial advice.
Any organization running Node.js applications that deserialize Protobuf data should treat these vulnerabilities as high priority. This includes teams operating chatbots, APIs, cloud services using Google Cloud client libraries, and CI/CD systems that consume Protobuf schemas. Because exploitation often requires only a single malicious schema or payload, the attack surface is broad and the conditions for exploitation are increasingly common in data and AI ecosystems.

Developers who generate code from Protobuf schemas should immediately update protobuf.js to the latest patched version and review schema sources to ensure they are trusted. If immediate patching is not possible, consider disabling dynamic code generation, validating all schemas and payloads before deserialization, and running Node.js services with minimal privileges. For CI/CD pipelines, enforce schema validation in version control and build steps, and avoid automatically consuming schemas from untrusted origins.
Practical steps to reduce exposure
Start by inventorying Node.js services that depend on protobuf.js or use Protobuf serialization. Check package-lock.json or yarn.lock for protobuf.js and related libraries, and identify direct and transitive dependencies. Next, apply the latest protobuf.js patch to all affected services. If patching is delayed, implement runtime controls: validate and sanitize all Protobuf schemas and payloads before deserialization, and use allow-lists for known schema types to prevent unexpected type resolution.
For CI/CD pipelines, add schema validation to version control hooks and build steps. Reject or flag .proto files that do not match expected schemas or come from untrusted sources. Consider using alternative Protobuf implementations that enforce stricter schema validation by default, or sandbox code generation steps to limit the blast radius of any potential compromise. Finally, monitor Node.js processes for crashes, memory corruption or unusual child processes that could indicate exploitation attempts.
What to watch next from the Proto6 disclosures
Security advisories and patches are still evolving as researchers and maintainers analyze the full scope of Proto6. Organizations should watch for updated CVEs, additional proof-of-concept exploits, and guidance from library maintainers on safe usage patterns. Expect advisories targeting specific integrations—such as Google Cloud client libraries or Baileys—to clarify which versions are vulnerable and which remediation steps are required.

In parallel, expect tooling to improve. Static analysis tools and runtime monitors may add rules to detect prototype pollution in Protobuf schemas and payloads. Language runtimes and frameworks could introduce safer defaults for schema handling, such as stricter validation or isolation of code generation. Developers should follow security advisories from protobuf.js maintainers and adjust their dependency management and build pipelines accordingly.
Longer-term implications for the Protobuf ecosystem
The Proto6 disclosures highlight a broader tension in the Protobuf ecosystem: performance and flexibility versus safety and validation. Protocol Buffers were designed for speed and cross-language interoperability, and many implementations prioritize these goals over strict input validation. As Protobuf usage grows in web, cloud and AI pipelines—where schemas and payloads are frequently exchanged across trust boundaries—libraries like protobuf.js must evolve to treat schemas and metadata as untrusted by default.
This shift may lead to safer defaults in future versions of protobuf.js, such as schema validation hooks, allow-listed type resolution, and sandboxed code generation. It may also drive demand for alternative Protobuf implementations or wrappers that enforce stricter validation. For developers and security teams, the lesson is clear: treat Protobuf schemas and payloads like any other untrusted input, and build controls to validate, sanitize and isolate them before processing.
Conclusion
The Proto6 vulnerabilities in protobuf.js demonstrate how a widely used serialization library can become a gateway for RCE and DoS when schemas and payloads are trusted by default. Node.js applications, cloud services, chatbots and CI/CD pipelines that process Protobuf data are all at risk if they do not validate inputs or apply the latest patches. Taking immediate steps—patching, validating schemas, hardening CI/CD, and monitoring for exploitation—can reduce exposure while the ecosystem adapts safer defaults. The broader takeaway is that serialization libraries must align their trust models with modern threat realities, especially as data exchange across services and platforms becomes more pervasive.
More in Cybersecurity & Privacy

VPN for Beginners: How to Choose Your First Privacy Tool
A practical, evergreen guide to VPNs for newcomers: what they do, what to look for, and six beginner-friendly services compared by use case.

Free vs Paid VPN: What’s Actually Worth Paying For in 2025
A practical guide to deciding when a free VPN is enough and which paid plans deliver real privacy, streaming and security benefits you can rely on.

The Most Common Mistakes When Choosing a VPN — And How to Avoid Them
Learn the most frequent errors people make when picking a VPN, with clear advice on how to avoid them so you end up with a service that truly protects your privacy, unblocks streaming and keeps you se

