CVE-2026-34069
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
nimiq/core-rs-albatross to implementacja protokołu Nimiq Proof-of-Stake w języku Rust oparta na algorytmie konsensusu Albatross. W wersjach 1.2.2 i starszych nieuwierzytelniony peer p2p może spowodować panikę zadania obsługującego komunikat RequestMacroChain, wysyłając komunikat, w którym pierwszy hash lokalizatora na głównym łańcuchu ofiary jest hashem mikro-bloku zamiast makro-bloku; problem naprawiono w wersji 1.3.0.
Ocena ryzyka
Nieuwierzytelniony peer sieci p2p może wywołać panikę węzła, powodując odmowę usługi lub destabilizację pracy sieci. Ryzyko dotyczy operatorów węzłów Nimiq korzystających z podatnych wersji.
Rekomendacja
Zaktualizuj nimiq/core-rs-albatross do wersji 1.3.0 lub nowszej. Do czasu aktualizacji rozważ ograniczenie ekspozycji węzła na niezaufanych peerów p2p.
Inne podatności w nimiq/core-rs-albatross
Zobacz wszystkie- CVE-2026-28402Wysokie
W wersjach przed 1.2.2 biblioteka nimiq/core-rs-albatross zawiera podatność, która pozwala złośliwemu lub skompromitowanemu walidatorowi na opublikowanie propozycji makro bloku z niezgodnym `header.body_root`. To może prowadzić do awarii walidatorów z powodu niezgodności weryfikacji.
- CVE-2026-34061Średnie
nimiq/core-rs-albatross przed wersją 1.3.0 zawiera podatność, w której wybrany walidator-proposer może wysłać blok makro wyborczy, którego header.interlink nie zgadza się z kanonicznym następnym interlinkiem. Uczciwi walidatorzy akceptują tę propozycję, ponieważ funkcja verify_macro_block_proposal() nie sprawdza wiązania interlink dla bloków wyborczych. Ten sam sfinalizowany blok jest później odrzucany przez verify_block() z błędem InvalidInterlink, ale dzieje się to po podjęciu decyzji przez Tendermint, co może prowadzić do problemów z konsensusem.
- CVE-2026-33184Wysokie
W nimiq/core-rs-albatross (implementacja protokołu Nimiq Proof-of-Stake w Rust) przed wersją 1.3.0, procedura handshake akceptuje od peera limit równy 0 i przechowuje go bez zmian. W ścieżce HandshakeAck limit 0 powoduje zwrócenie zerowych kontaktów, co wygląda nieszkodliwie. Później, w stanie Established, obliczenie self.peer_list_limit.unwrap() jako usize - 1 przy limicie 0 powoduje zawinięcie do usize::MAX, co prowadzi do paniki przy próbie alokacji pamięci.
Oryginalny opis (angielski, źródło NVD)
nimiq/core-rs-albatross is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. In versions 1.2.2 and below, an unauthenticated p2p peer can cause the RequestMacroChain message handler task to panic. Sending a RequestMacroChain message where the first locator hash on the victim’s main chain is a micro block hash (not a macro block hash) causes said panic. The RequestMacroChain::handle handler selects the locator based only on "is on main chain", then calls get_macro_blocks() and panics via .unwrap() when the selected hash is not a macro block (BlockchainError::BlockIsNotMacro). This issue has been fixed in version 1.3.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

