Mafintosh Protocol Buffers Schema Prototype Pollution Vulnerability

Vulnerability

A prototype pollution vulnerability has been identified in Mafintosh's protocol-buffers-schema version 3.6.0. This issue allows an attacker to manipulate application logic, bypass security measures, cause a denial-of-service, or achieve remote code execution. The vulnerability arises because the parser does not properly sanitize field options in .proto files, enabling the injection of properties into Object.prototype. Once polluted, these properties are inherited by all objects in the Node.js process, potentially leading to various security issues.

Impact

Exploitation of this vulnerability allows for prototype pollution, a fundamental corruption that can disrupt application logic and security. Once Object.prototype is polluted, the effects depend on how the application handles the modified prototype. Common consequences include bypassing authentication checks, causing denial-of-service conditions by disrupting internal framework operations, and escalating to remote code execution, particularly when combined with certain JavaScript features or libraries.

Reproduction

To reproduce this vulnerability, create a .proto file that includes a field option with a path segment containing '__proto__'. When this file is parsed using the vulnerable protocol-buffers-schema package, the parser will unintentionally modify Object.prototype, demonstrating the prototype pollution flaw.

Remediation

Users of protocol-buffers-schema should update to version 3.6.1 or later. If the package is used to parse .proto files from untrusted sources, it's important to audit the application for potential prototype pollution vulnerabilities and consider additional security measures, such as freezing Object.prototype in sensitive contexts.

Added: Apr 15, 2026, 7:04 PM
Updated: Apr 15, 2026, 7:04 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
3.1
exploitability
8.7
remediation
0.0
relevance
6.0
threat
6.4
urgency
2.9
incentive
4.2

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.