Skip to main content

Protobufjs EUVDEUVD-2026-23678

| CVE-2026-41242 CRITICAL
Code Injection (CWE-94)
2026-04-18 GitHub_M GHSA-xq3m-2v4x-88gg
9.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to target application
  2. Delivery
    Upload malicious protobuf definition with injected code in 'type' field
  3. Exploit
    Application compiles definition using vulnerable protobufjs
  4. Execution
    Trigger message decode operation
  5. Persist
    Injected JavaScript executes in application context
  6. Impact
    Arbitrary code execution with application privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must have authenticated access (PR:L) to inject or upload malicious protobuf definitions that the application will compile using protobufjs. Specifically, exploitation requires: (1) the target application accepts protobuf schema definitions from the attacker either directly (via API endpoint, configuration interface, file upload) or indirectly (shared schema repository, supply chain injection into schema sources), (2) the application uses protobufjs versions prior to 7.5.5/8.0.1 to compile these definitions into JavaScript decoders, and (3) the application subsequently invokes the generated decoder functions (simply compiling the schema is insufficient-decoding operations must occur to trigger execution). Network accessibility (AV:N) means the attacker can deliver malicious schemas remotely without local system access. No user interaction required (UI:N) once the attacker has schema injection capability. Exploitation is LIMITED by the authentication requirement (not remotely exploitable by unauthenticated attackers) and by architectural choices about who can supply protobuf definitions-applications that only compile hardcoded or administrator-controlled schemas are not vulnerable regardless of library version.

Impact

Real-world risk is HIGH but context-dependent. CVSS 9.4 accurately reflects the severe technical impact: arbitrary code execution with high confidentiality, integrity, and availability impact across system and subsequent boundaries (scope change indicated by SC:H/SI:H/SA:H metrics). However, exploitation requires PR:L (low-privileged authenticated access) to inject malicious protobuf definitions into the compilation process. This significantly limits attack surface compared to unauthenticated vulnerabilities. Risk is CRITICAL in scenarios where applications accept protobuf schemas from semi-trusted users (API gateway configurations, multi-tenant platforms, development tools with shared schema repositories). Risk is MODERATE in environments where only administrators define protobuf schemas. No CISA KEV listing and no public POC identified at time of analysis suggests exploitation is not yet widespread, but the technical barrier is low given clear injection vector. SSVC decision factors: Exploitation status is 'POC' (patches and detailed advisory available reveal attack mechanism), Automatable is 'yes' (once attacker has schema injection access, exploitation is straightforward), Technical Impact is 'total' (arbitrary code execution). Priority should be HIGH for any deployment where non-administrators can influence protobuf definitions, MEDIUM otherwise. EPSS data not provided, but given clear attack path and wide library deployment, expect moderate-to-high scoring once added to EPSS corpus.

Exploit ScenarioDerived

An attacker with low-privileged authenticated access to a Node.js API gateway submits a malicious protobuf definition file where the 'type' field contains JavaScript code (e.g., ''; require('child_process').exec('malicious_command'); //'). The application uses protobufjs to compile this definition into a message decoder. When the application or any user subsequently decodes a protobuf message using the poisoned definition, the injected code executes with the privileges of the Node.js process, potentially exfiltrating environment variables, accessing databases, or establishing reverse shells. Public exploit code has not been identified, but the GitHub security advisory and patch commits reveal sufficient technical detail for adversaries to develop exploits.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 18, 2026

Code injection vulnerability in protobufjs (JavaScript protobuf library) allows authenticated attackers to execute arbitrary JavaScript code during protobuf object decoding by injecting malicious payloads into 'type' fields of protobuf definitions. Affects all versions before 7.5.5 and 8.0.1. CVSS 9.4 (Critical) reflects chained impact across multiple security boundaries (VC:H/VI:H/VA:H/SC:H/SI:H/SA:H), though exploitation requires authenticated access (PR:L) to inject malicious protobuf definitions. No active exploitation confirmed (not in CISA KEV); vendor-released patches available.

RemediationAI

Upgrade immediately to protobufjs version 7.5.5 (for 7.x users) or 8.0.1 (for 8.x users), available at https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.5.5 and https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v8.0.1 respectively. Vendor-released patches in commits 535df444ac and ff7b2afef8 implement input validation to sanitize 'type' fields before code generation. If immediate patching is not feasible, implement compensating controls: restrict protobuf definition sources to trusted administrators only (eliminate user-supplied or external schema sources), implement strict input validation on any protobuf schema uploads or API endpoints that accept .proto files, run protobuf compilation processes in sandboxed environments with minimal privileges (containers with restricted capabilities, separate service accounts with no access to sensitive data), and deploy runtime application self-protection (RASP) or Content Security Policy (CSP) in browser contexts to limit damage from successful code injection. Note that access control changes may break legitimate workflows where developers or API consumers provide schemas; evaluate business impact before deployment. Schema validation alone is insufficient if attackers can bypass filters-patching remains the definitive solution.

Affected VersionsENISA

protobuf.js < 7.5.5
protobuf.js 8.0.0-experimental, < 8.0.1

Affected Packages

npm protobufjs fix: 6.11.6, 7.5.5, 8.0.1
euvd protobuf_js fix: 7.5.5
euvd protobuf_js_8_0_0_experimental fix: 8.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Protobufjs (protobuf.js) is a widely-used JavaScript implementation of Protocol Buffers, Google's data serialization format. The library compiles .proto definition files into JavaScript code for efficient encoding/decoding. This vulnerability stems from CWE-94 (Improper Control of Generation of Code), specifically insufficient sanitization of the 'type' field in protobuf schema definitions before code generation. When protobufjs compiles a malicious protobuf definition containing injected JavaScript in type fields, that code becomes part of the generated decoder function. Subsequent calls to decode messages using the compromised definition trigger execution of the attacker-controlled code within the Node.js or browser JavaScript runtime. The CPE identifies protobufjs (protobuf.js) library across all versions prior to the patches, affecting any application that accepts and compiles user-supplied or untrusted protobuf definitions.

Know when Protobufjs gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Red Hat 8.8 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

3
PoC Detected
Apr 23, 2026 - 15:26 vuln.today
Public exploit code
Patch released
Apr 18, 2026 - 20:30 nvd
Patch available
CVE Published
Apr 18, 2026 - 16:18 nvd
CRITICAL 9.4

DescriptionCVE.org

protobufjs compiles protobuf definitions into JavaScript (JS) functions. In versions prior to 8.0.1 and 7.5.5, attackers can inject arbitrary code in the "type" fields of protobuf definitions, which will then execute during object decoding using that definition. Versions 8.0.1 and 7.5.5 patch the issue.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1,832 npm packages depend on protobufjs (158 direct, 1,675 indirect)

Ecosystem-wide dependent count for version 8.0.0.

Executive ViewAI

Why It Matters

CVE-2026-41242 is a critical code injection vulnerability in protobufjs that enables authenticated attackers to execute arbitrary JavaScript code during protobuf decoding, potentially compromising any application using affected versions (pre-7.5.5 and pre-8.0.1). Organizations using protobufjs in production environments face immediate risk of application compromise if internal users or connected services can manipulate protobuf definitions.

Business Impact: Severe
Compensating Controls

Vendor-released patch: protobufjs version 7.5.5 or 8.0.1 or later. Interim mitigations pending patch deployment: restrict network and API access to services that accept protobuf definitions to authenticated internal users only; implement input validation and sanitization of all protobuf definition sources; disable dynamic protobuf definition loading where possible and use only pre-compiled, static definitions.

Threat Intelligence Overview

EPSS Score
0.1%
Top 85% exploitable
Threat Intel
2
1 sources
Exploit
POC
Public exploit code exists
Social Media
4
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment NEWS GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

67
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +47
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy