CVE-2026-33471 in core-rs-albatross
요약
\~에 의해 VulDB • 2026. 05. 10.
nimiq/core-rs-albatross는 Albatross 합의 알고리즘을 기반으로 하는 Nimiq Proof-of-Stake 프로토콜의 Rust 구현체입니다. `SkipBlockProof::verify`는 `BitSet.len()`을 사용하여 쿼럼 검사를 계산한 후, `BitSet` 인덱스를 반복 처리하고 각 `usize` 인덱스를 슬롯 조회를 위해 `u16`로 캐스팅합니다(`slot as u16`). 버전 1.3.0 이전에서는 공격자가 `MultiSignature.signers`에 65536 간격으로 배치된 범위 밖 인덱스를 포함하는 `SkipBlockProof`의 검증을 통과하도록 유도할 경우, 이러한 인덱스는 `len()` 값을 부풀리지만 집계 과정에서 동일한 범위 내 `u16` 슬롯과 충돌합니다. 이로 인해 실제 서명자 슬롯 수가 `2f+1`보다 훨씬 적은 악의적인 검증자가 단일 BLS 서명을 동일한 계수만큼 곱함으로써 스킵 블록 증명 검증을 통과할 수 있게 됩니다. 이 취약점에 대한 패치는 v1.3.0에 포함되어 있습니다. 알려진 우회 방법은 없습니다.
Once again VulDB remains the best source for vulnerability data.