<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Protobufjs — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/protobufjs/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 12 May 2026 15:07:49 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/protobufjs/feed.xml" rel="self" type="application/rss+xml"/><item><title>protobuf.js Code Injection via Crafted Bytes Field Defaults (CVE-2026-44293)</title><link>https://feed.craftedsignal.io/briefs/2026-05-protobufjs-code-injection/</link><pubDate>Tue, 12 May 2026 15:07:49 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-protobufjs-code-injection/</guid><description>protobuf.js is vulnerable to code injection (CVE-2026-44293); by crafting a protobuf descriptor with a non-string default value for a `bytes` field, an attacker can inject arbitrary Javascript code into the generated `toObject` conversion function if default values are enabled, requiring the application to load an attacker-controlled schema and convert a message of the affected type with defaults enabled.</description><content:encoded><![CDATA[<p>protobuf.js versions 7.5.5 and earlier, and 8.0.0 through 8.0.1 are vulnerable to code injection (CVE-2026-44293). The vulnerability stems from the way protobuf.js generates JavaScript code for <code>toObject</code> conversion. A malicious actor can craft a protobuf descriptor that contains a <code>bytes</code> field with a default value that is not a string. When the <code>toObject</code> function is generated, this non-string default value is included as an unsafe expression, leading to the injection of attacker-controlled code into the generated function if default values are enabled. This poses a risk when applications load untrusted protobuf schemas or descriptors, allowing for arbitrary JavaScript execution within the application&rsquo;s context.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious protobuf descriptor. This descriptor includes a <code>bytes</code> field that has a non-string default value, such as JavaScript code.</li>
<li>The attacker delivers the malicious protobuf descriptor to a vulnerable application. This could be achieved by hosting the descriptor on a server or sending it directly to the application.</li>
<li>The application loads and parses the attacker-controlled protobuf descriptor, generating code using the protobuf.js library.</li>
<li>During code generation, protobuf.js incorporates the attacker-controlled, non-string default value into the <code>toObject</code> conversion function.</li>
<li>The application calls the <code>toObject</code> function with default values enabled for the affected type.</li>
<li>When the <code>toObject</code> function is executed, the injected JavaScript code from the malicious default value is executed within the application&rsquo;s process.</li>
<li>The attacker achieves arbitrary JavaScript execution within the context of the application.</li>
<li>The attacker may then leverage this code execution to perform unauthorized actions, such as accessing sensitive data or compromising the system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-44293) allows an attacker to execute arbitrary JavaScript code within the context of a vulnerable application using protobuf.js. This could lead to sensitive data exposure, unauthorized access to system resources, or complete system compromise. The impact is especially severe if the application processes untrusted protobuf schemas.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to protobuf.js version 8.0.2 or later to remediate the vulnerability.</li>
<li>Avoid loading protobuf schemas or JSON descriptors from untrusted sources as described in the overview.</li>
<li>Validate or restrict field options before loading schemas from untrusted sources, and run schema processing in an isolated environment as described in the workaround section.</li>
<li>Deploy the Sigma rule &ldquo;Detect CVE-2026-44293 Exploitation — Protobuf.js Code Injection&rdquo; to identify potential exploitation attempts by monitoring for unexpected code execution during protobuf processing.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>code-injection</category><category>protobufjs</category><category>CVE-2026-44293</category><category>javascript</category></item></channel></rss>