<?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>Bls — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/bls/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 24 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/bls/feed.xml" rel="self" type="application/rss+xml"/><item><title>Nimiq Node Panic due to Invalid BLS Key</title><link>https://feed.craftedsignal.io/briefs/2024-01-nimiq-panic/</link><pubDate>Wed, 24 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-nimiq-panic/</guid><description>An unauthenticated peer can crash a Nimiq node by sending a malformed election macro block containing an invalid BLS voting key, leading to a denial of service.</description><content:encoded><![CDATA[<p>A critical vulnerability exists in Nimiq&rsquo;s core-rs-albatross library, specifically within the nimiq-primitives crate, affecting versions 0.2.0 and earlier. An attacker can exploit this vulnerability by sending a malicious election macro block to a Nimiq node. This block contains an invalid compressed BLS voting key. When the node attempts to process this block, specifically during the hashing of the election macro header and the validation of the validators set via <code>Validators::voting_keys()</code>, the <code>validator.voting_key.uncompress().unwrap()</code> function is triggered. Due to the invalid BLS key, this operation results in a panic, effectively crashing the Nimiq node and causing a denial-of-service condition. The vulnerability was patched in version 1.3.0 of the core-rs-albatross library.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a vulnerable Nimiq node running a version of <code>nimiq-primitives</code> less than or equal to 0.2.0.</li>
<li>Attacker crafts a malicious election macro block.</li>
<li>The malicious block contains an invalid compressed BLS voting key within the <code>validators</code> set.</li>
<li>The attacker sends the crafted block to the target Nimiq node via the peer-to-peer network.</li>
<li>The Nimiq node receives the block and begins processing it.</li>
<li>During the hashing of the election macro header, the <code>validators</code> set is processed.</li>
<li>The <code>Validators::voting_keys()</code> function is called, which attempts to uncompress the BLS voting key.</li>
<li>Due to the invalid compressed BLS key, the <code>validator.voting_key.uncompress().unwrap()</code> function panics, causing the node to crash and leading to a denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial-of-service condition for the targeted Nimiq node. This can disrupt network operations, prevent legitimate transactions from being processed, and potentially impact the overall stability of the Nimiq network. The vulnerability allows any untrusted peer to trigger the crash.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to version 1.3.0 or later of the <code>core-rs-albatross</code> library to patch CVE-2026-34065.</li>
<li>Implement rate limiting on incoming peer connections to mitigate the impact of malicious blocks being sent to the node.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>nimiq</category><category>bls</category></item></channel></rss>