CVE-2026-33471

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:rust:*:*

History

26 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) nimiq-block contiene primitivas de bloque para ser utilizadas en la implementación de Nimiq en Rust. SkipBlockProof::verify calcula su verificación de quórum usando BitSet.len(), luego itera los índices de BitSet y convierte cada índice usize a u16 (slot as u16) para la búsqueda de slot. Antes de la versión 1.3.0, si un atacante puede lograr que se verifique un SkipBlockProof donde MultiSignature.signers contiene índices fuera de rango espaciados por 65536, estos índices inflan len() pero colisionan en el mismo slot u16 dentro del rango durante la agregación. Esto hace posible que un validador malicioso con muchos menos de 2f+1 slots de firmante reales pase la verificación de prueba de bloque de salto multiplicando una única firma BLS por el mismo factor. El parche para esta vulnerabilidad se incluye como parte de la v1.3.0. No se conocen soluciones alternativas disponibles.

Information

Published : 2026-04-22 20:16

Updated : 2026-10-26 21:10


NVD link : CVE-2026-33471

Mitre link : CVE-2026-33471

CVE.ORG link : CVE-2026-33471


JSON object : View

Products Affected

nimiq

  • nimiq_proof-of-stake
CWE
CWE-20

Improper Input Validation

CWE-190

Integer Overflow or Wraparound

CWE-345

Insufficient Verification of Data Authenticity

CWE-1284

Improper Validation of Specified Quantity in Input