Podatność w oprogramowaniu Meshtastic Firmware (przed wersją 2.6.3) umożliwia atakującemu zdalne zastąpienie klucza publicznego dowolnego węzła sieci siateczkowej własnym, złośliwym kluczem. Ze względu na sieciowy charakter ataku niewymagający uwierzytelnienia ani interakcji użytkownika, zagrożenie jest oceniane jako krytyczne (CVSS 9.4).
▸ Pokaż oryginał (EN)
Meshtastic is an open source mesh networking solution. Prior to v2.6.3, an attacker can send NodeInfo with a empty publicKey first, then overwrite it with a new key. First sending a empty key bypasses 'if (p.public_key.size > 0) {', clearing the existing publicKey (and resetting the size to 0) for a known node. Then a new key bypasses 'if (info->user.public_key.size > 0) {', and this malicious key is stored in NodeDB. This vulnerability is fixed in 2.6.3.
Podatność wynika z błędnej logiki walidacji rozmiaru klucza publicznego podczas przetwarzania pakietów NodeInfo. Atakujący w pierwszym kroku wysyła pakiet NodeInfo z pustym polem publicKey — warunek sprawdzający rozmiar klucza ('if (p.public_key.size > 0)') jest spełniony negatywnie, co powoduje wyczyszczenie istniejącego klucza publicznego dla danego węzła i zresetowanie jego rozmiaru do 0. Następnie atakujący wysyła kolejny pakiet NodeInfo zawierający nowy, złośliwy klucz publiczny — ponieważ rozmiar poprzednio zapisanego klucza wynosi teraz 0, drugi warunek walidacyjny ('if (info->user.public_key.size > 0)') również jest pomijany, a złośliwy klucz zostaje utrwalony w bazie NodeDB. W efekcie atakujący może podszyć się pod dowolny znany węzeł sieci.
Atakujący może trwale nadpisać klucz publiczny wybranego węzła w sieci Meshtastic własnym kluczem, co umożliwia przejęcie tożsamości tego węzła, odszyfrowanie kierowanej do niego komunikacji oraz przeprowadzanie ataków typu man-in-the-middle w obrębie całej sieci siateczkowej.
Należy zaktualizować Meshtastic Firmware do wersji 2.6.3 lub nowszej, w której podatność została naprawiona. Poprawka dostępna jest w repozytorium producenta (commit cf7f0f9d0895602df3453a4f5cfea843f4e09744).
Meshtastic Firmware we wszystkich wersjach przed 2.6.3
Podatność została zgłoszona i naprawiona w ramach oficjalnego procesu security advisory projektu Meshtastic (GHSA-95pq-gj5v-4fg2). Szczegóły techniczne exploitacji są publicznie dostępne w repozytorium GitHub, co zwiększa ryzyko wykorzystania przez nieuprawnione podmioty.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LMeshtastic Firmware
OSMeshtastic< 2.6.3
Powiązane podatności
Meshtastic Firmware: słaba entropia i duplikacja kluczy kryptograficznych
RCE przez buffer overflow w obsłudze pakietów protobuf w Meshtastic Firmware
Meshtastic is an open source mesh networking solution. In the current Meshtastic architecture, a Node is ident...
Meshtastic is an open source, off-grid, decentralized, mesh network. Meshtastic uses MQTT to communicate over ...
Meshtastic device firmware is a firmware for meshtastic devices to run an open source, off-grid, decentralized...