<?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 (&lt;= 7.5.5) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/protobufjs--7.5.5/</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:05:31 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/protobufjs--7.5.5/feed.xml" rel="self" type="application/rss+xml"/><item><title>protobuf.js Denial-of-Service Vulnerability via Unbounded Recursion (CVE-2026-44289)</title><link>https://feed.craftedsignal.io/briefs/2026-05-protobufjs-dos/</link><pubDate>Tue, 12 May 2026 15:05:31 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-protobufjs-dos/</guid><description>protobuf.js is vulnerable to a denial-of-service (DoS) attack (CVE-2026-44289) due to unbounded recursion while decoding nested protobuf data, potentially leading to stack exhaustion and process crashes when processing crafted protobuf binary payloads.</description><content:encoded><![CDATA[<p>protobuf.js versions 7.5.5 and earlier, and 8.0.0 through 8.0.1, are susceptible to a denial-of-service vulnerability (CVE-2026-44289) due to unbounded recursion during the decoding of nested protobuf data. This vulnerability is triggered when the decoder encounters deeply nested structures, either through unknown group fields or nested message fields. An attacker can exploit this by crafting a malicious protobuf binary payload that, when processed by an application using a vulnerable version of protobuf.js, causes the JavaScript call stack to be exhausted. This stack exhaustion leads to a process crash or decoding failure due to a stack overflow. This vulnerability poses a risk to applications that decode untrusted protobuf binary input, potentially disrupting service availability and requiring process restarts.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts a malicious protobuf binary payload. This payload contains excessively nested protobuf structures.</li>
<li>The application receives the crafted protobuf binary payload as input. This input may originate from a network request, file upload, or other data source.</li>
<li>The application uses a vulnerable version of protobuf.js (&lt;= 7.5.5 or &gt;= 8.0.0 and &lt;= 8.0.1) to decode the protobuf binary data.</li>
<li>During decoding, the protobuf.js library recursively processes the nested structures within the payload.</li>
<li>Due to the excessive nesting, the JavaScript call stack grows without bound. The recursion occurs when either skipping unknown group fields or decoding nested message fields.</li>
<li>The JavaScript call stack reaches its limit, resulting in a stack overflow error.</li>
<li>The application process terminates abruptly due to the unhandled exception.</li>
<li>The application becomes unavailable, leading to a denial-of-service condition.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-44289) leads to a denial-of-service condition, where the application processing the crafted protobuf data crashes or becomes unresponsive. The impact depends on the role of the affected application; a crash in a critical service can disrupt operations, while a crash in a less critical component may only cause temporary inconvenience. The number of affected applications depends on the adoption of vulnerable protobuf.js versions and the prevalence of untrusted protobuf data processing. The attack can cause loss of service availability and potential data integrity issues if decoding is interrupted mid-process.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade protobuf.js to the latest version to patch CVE-2026-44289.</li>
<li>If upgrading is not immediately feasible, implement input validation to reject excessively nested protobuf messages at the application layer.</li>
<li>Consider isolating protobuf decoding within a sandboxed process that can be safely restarted to mitigate the impact of crashes.</li>
<li>Deploy the Sigma rule &ldquo;Detect protobuf.js Excessive Recursion Attempt&rdquo; to identify potential exploitation attempts by monitoring process resource consumption.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>denial of service</category><category>protobufjs</category><category>CVE-2026-44289</category></item><item><title>protobuf.js Prototype Pollution Leads to Code Generation Gadget</title><link>https://feed.craftedsignal.io/briefs/2026-05-protobufjs-prototype-pollution/</link><pubDate>Tue, 12 May 2026 15:02:59 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-protobufjs-prototype-pollution/</guid><description>protobufjs versions 7.5.5 and earlier, as well as versions 8.0.0 through 8.0.1, are vulnerable to arbitrary JavaScript execution if Object.prototype has been polluted, allowing attackers to influence generated encode/decode functions.</description><content:encoded><![CDATA[<p>The protobuf.js library, a JavaScript implementation of Protocol Buffers, is susceptible to a code generation gadget vulnerability (CVE-2026-44291). Specifically, versions 7.5.5 and earlier, as well as versions 8.0.0 through 8.0.1, utilize plain objects with inherited prototypes for internal type lookup tables. If an attacker can first pollute the <code>Object.prototype</code>, they can inject attacker-controlled strings into generated JavaScript code via protobufjs encode or decode functions. This occurs because the lookup tables can resolve attacker-controlled inherited properties as valid protobuf type information. Exploitation necessitates a separate prototype pollution primitive and requires the application to use protobufjs functionality that generates code for affected types. This issue poses a significant risk in environments where untrusted input can influence the <code>Object.prototype</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a prototype pollution vulnerability within the application or one of its dependencies.</li>
<li>The attacker leverages the prototype pollution vulnerability to inject malicious properties into <code>Object.prototype</code>.</li>
<li>The injected properties are crafted to influence protobufjs&rsquo;s internal type lookup tables.</li>
<li>The application invokes protobufjs functionality to generate encode or decode functions for protobuf messages.</li>
<li>Due to the prototype pollution, the generated code includes attacker-controlled strings, leading to unexpected behavior.</li>
<li>The generated code is executed within the application&rsquo;s context.</li>
<li>The attacker-controlled strings in the generated code are interpreted as JavaScript code.</li>
<li>This leads to arbitrary JavaScript execution within the application, potentially allowing the attacker to compromise the system.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows attackers to achieve arbitrary JavaScript execution within the context of the affected application. This could lead to complete compromise of the application and potentially the underlying system. The severity of the impact is high, as it allows for remote code execution (RCE). There is no information about specific victim counts or sectors targeted available at this time.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade protobufjs to a patched version (later than 7.5.5 or 8.0.1) to remediate CVE-2026-44291.</li>
<li>Review and mitigate any potential prototype pollution vulnerabilities in your application or its dependencies as mentioned in the overview.</li>
<li>Deploy the Sigma rule &ldquo;Detect Prototype Pollution Attempts via Object.prototype Modification&rdquo; to identify potential prototype pollution attacks targeting <code>Object.prototype</code>.</li>
<li>If immediate upgrade is not possible, isolate schema/message processing from untrusted application state.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>prototype-pollution</category><category>code-generation</category><category>javascript</category></item></channel></rss>