Gossipsub w wersji 1.0 nie zapewnia odpowiedniej ochrony przed spamem nieprawidłowych wiadomości, co umożliwia przeprowadzenie ataków typu eclipse lub sybil. Podatność otrzymała ocenę krytyczną (CVSS 9.8), co wskazuje na poważne konsekwencje dla integralności, poufności i dostępności sieci peer-to-peer korzystających z tego protokołu.
▸ Pokaż oryginał (EN)
Gossipsub 1.0 does not properly resist invalid message spam, such as an eclipse attack or a sybil attack.
Gossipsub 1.0 to protokół rozproszonej wymiany wiadomości (publish-subscribe) stosowany w sieciach peer-to-peer, m.in. opartych na libp2p. W ataku sybil napastnik tworzy dużą liczbę fałszywych tożsamości węzłów w sieci, natomiast w ataku eclipse izoluje wybrany węzeł od legalnych uczestników sieci, otaczając go złośliwymi węzłami. Wersja 1.0 protokołu nie implementuje mechanizmów wykrywania ani blokowania masowego rozsyłania nieprawidłowych wiadomości, co pozwala napastnikowi skutecznie manipulować topologią sieci lub odciąć wybrany węzeł od rzetelnych informacji.
Atakujący może zakłócić działanie sieci peer-to-peer (atak na dostępność), kontrolować przepływ informacji docierających do wybranych węzłów (atak na integralność i poufność), a w skrajnym przypadku doprowadzić do izolacji węzłów lub pełnego zdominowania ich widoku na sieć.
Należy przeprowadzić migrację do Gossipsub w wersji 1.1, która zgodnie z referencjami producenta (specyfikacja libp2p gossipsub-v1.1) wprowadza mechanizmy oceny reputacji węzłów oraz ochrony przed spamem i atakami sybil/eclipse. Należy zastosować patche dostępne u producenta zgodnie z referencjami.
Gossipsub w wersji 1.0 (implementacje protokołu zgodne ze specyfikacją libp2p Gossipsub v1.0)
Podatność dotyczy protokołu warstwy sieciowej stosowanego w zdecentralizowanych systemach peer-to-peer (m.in. ekosystem IPFS/libp2p). Wersja 1.1 specyfikacji Gossipsub została opublikowana jako bezpośrednia odpowiedź na zidentyfikowane słabości wersji 1.0, co potwierdzają referencje do raportu ewaluacyjnego oraz specyfikacji libp2p.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HProtocol Gossipsub
APPProtocol1.0
Powiązane podatności
GossipSub 1.1, as used for Ethereum 2.0, allows a peer to maintain a positive score (and thus not be pruned fr...
libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to 0.17.1, libp...
libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to 0.17.1, the ...
libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to version 0.49...
libp2p-rust is the official rust language Implementation of the libp2p networking stack. In versions prior to ...