---
title: "CVE-2026-33471: nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation"
url: https://erroneo.us/security/cve/CVE-2026-33471/
description: "CVE-2026-33471 (nimiq-block (crates.io (Rust))): nimiq-block contains block primitives to be used in Nimiq's Rust implementation. SkipBlockProof::verify…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-04-22
date_modified: 2026-04-27
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-33471"
kev: false
cvss: 9.6
epss: 0.00291
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-33471: nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation

**Signal:** Critical, preconditions apply. Severe if exploited, but exploitation needs conditions that may not apply to you. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.3% , percentile 21: FIRST’s model estimates a 0.3% chance of exploitation activity in the next 30 days, higher than 21% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes nimiq-block (crates.io (Rust)) <= 0.2.0, no fixed version listed . Check your lockfile, including transitive dependencies.

## What it is

nimiq-block contains block primitives to be used in Nimiq's Rust implementation. SkipBlockProof::verify computes its quorum check using BitSet.len(), then iterates BitSet indices and casts each usize index to u16 (slot as u16) for slot lookup. Prior to version 1.3.0, if an attacker can get a SkipBlockProof verified where MultiSignature.signers contains out-of-range indices spaced by 65536, these indices inflate len() but collide onto the same in-range u16 slot during aggregation. This makes it possible for a malicious validator with far fewer than 2f+1 real signer slots to pass skip block proof verification by multiplying a single BLS signature by the same factor. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.

## Affected packages

- crates.io (Rust) `nimiq-block` <= 0.2.0 → fixed: none listed

## Affected products (CVE record)

- nimiq nimiq-block: < 1.3.0

## Severity

- GitHub_M CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H`
- GitHub CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable no , technical impact partial .
- FIRST EPSS (model of 2026-10-21): 0.29% probability of exploitation activity in the next 30 days; percentile 21.

## Sources

- [GitHub Advisory GHSA-6973-8887-87ff](https://github.com/advisories/GHSA-6973-8887-87ff)
- [CVE.org record CVE-2026-33471](https://www.cve.org/CVERecord?id=CVE-2026-33471)
- [NVD entry CVE-2026-33471](https://nvd.nist.gov/vuln/detail/CVE-2026-33471)
- [github.com](https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-6973-8887-87ff)
- [github.com](https://github.com/nimiq/core-rs-albatross/commit/d02059053181ed8ddad6b59a0adfd661ef5cd823)
- [github.com](https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0)
- [github.com](https://github.com/nimiq/core-rs-albatross/pull/3657)

---
Source page: https://erroneo.us/security/cve/CVE-2026-33471/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
