<?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>Nimiq-Block — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/nimiq-block/</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>Tue, 02 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/nimiq-block/feed.xml" rel="self" type="application/rss+xml"/><item><title>Nimiq Block Skip Block Quorum Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-nimiq-block-quorum-bypass/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-nimiq-block-quorum-bypass/</guid><description>A vulnerability exists in Nimiq Block's SkipBlockProof verification process, allowing attackers to bypass quorum checks by manipulating MultiSignature signers with out-of-range indices, potentially compromising blockchain integrity, and affecting rust/nimiq-block versions 0.2.0 and earlier.</description><content:encoded><![CDATA[<p>A critical vulnerability has been identified in the Nimiq Block&rsquo;s <code>SkipBlockProof::verify</code> function within the rust-albatross core. This vulnerability stems from the way the quorum check is performed. The vulnerability lies in the ability to craft <code>MultiSignature.signers</code> that contain out-of-range indices spaced by 65536, inflating the <code>len()</code> calculation but colliding onto the same in-range <code>u16</code> slot during aggregation due to truncation. The vulnerability affects <code>rust/nimiq-block</code> versions <code>&lt;= 0.2.0</code>. Successful exploitation allows a malicious validator with significantly fewer than the required <code>2f+1</code> signer slots to pass skip block proof verification. This bypasses the intended security mechanisms, potentially undermining the blockchain&rsquo;s consensus and integrity.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a Nimiq Block instance running a vulnerable version (&lt;= 0.2.0) of the <code>rust/nimiq-block</code> package.</li>
<li>The attacker crafts a malicious <code>MultiSignature.signers</code> payload.</li>
<li>The malicious payload contains out-of-range indices spaced by 65536. These indices are specifically designed to inflate the <code>BitSet.len()</code> calculation used in the quorum check.</li>
<li>During verification within <code>SkipBlockProof::verify</code>, the <code>usize</code> indices are cast to <code>u16</code> (<code>slot as u16</code>) for slot lookup.</li>
<li>Due to the <code>u16</code> truncation, the out-of-range indices collide onto the same in-range slot. This creates an artificial aggregation of signatures.</li>
<li>The attacker multiplies a single BLS signature by a factor to match the inflated <code>len()</code> value.</li>
<li>The manipulated <code>SkipBlockProof</code> passes the quorum check due to the inflated <code>len()</code> and signature aggregation.</li>
<li>The malicious skip block is accepted, potentially leading to consensus manipulation or other attacks on the blockchain.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows a malicious validator to bypass the standard quorum requirements for skip block proof verification. This means that a single compromised validator or a small group of colluding validators can inject fraudulent blocks into the blockchain, potentially leading to double-spending, denial-of-service, or other attacks that compromise the integrity and availability of the Nimiq blockchain. Given the severity of these potential outcomes, this vulnerability poses a critical risk to any system relying on affected versions of Nimiq Block.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to <code>rust/nimiq-block</code> version <code>1.3.0</code> or later, which includes the fix for <a href="https://github.com/advisories/GHSA-6973-8887-87ff">CVE-2026-33471</a>.</li>
<li>Monitor network traffic for anomalies related to skip block submissions, focusing on unusually large <code>MultiSignature.signers</code> payloads with indices spaced by multiples of 65536. Create a network monitoring rule.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>blockchain</category><category>quorum bypass</category><category>nimiq</category><category>rust</category></item></channel></rss>