RIOT-OS w wersji 2021.01 zawiera podatność typu buffer overflow w module routingu RPL, która może zostać wykorzystana zdalnie bez uwierzytelnienia. Ze względu na krytyczny poziom CVSS (9.8) i sieciowy wektor ataku stanowi poważne zagrożenie dla urządzeń IoT opartych na tym systemie.
▸ Pokaż oryginał (EN)
RIOT-OS 2021.01 contains a buffer overflow vulnerability in sys/net/gnrc/routing/rpl/gnrc_rpl_validation.c through the gnrc_rpl_validation_options() function.
Podatność występuje w funkcji gnrc_rpl_validation_options() znajdującej się w pliku sys/net/gnrc/routing/rpl/gnrc_rpl_validation.c. Funkcja ta nieprawidłowo obsługuje dane wejściowe podczas walidacji opcji protokołu RPL (Routing Protocol for Low-Power and Lossy Networks), co prowadzi do przepełnienia bufora (buffer overflow, CWE-120). Atakujący może wysłać spreparowany pakiet sieciowy, który wywoła tę podatną ścieżkę kodu bez konieczności posiadania jakichkolwiek uprawnień.
Udane wykorzystanie podatności może pozwolić atakującemu na przejęcie pełnej kontroli nad urządzeniem, w tym na odczyt i modyfikację danych oraz zakłócenie jego działania (utrata dostępności). Podatność daje potencjalnie możliwość wykonania dowolnego kodu (RCE) w kontekście systemu operacyjnego urządzenia.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się śledzenie zgłoszenia błędu pod adresem https://github.com/RIOT-OS/RIOT/issues/16062 oraz aktualizację do wersji zawierającej poprawkę. Dodatkowo warto rozważyć ograniczenie dostępu sieciowego do podatnych urządzeń na poziomie firewall lub segmentacji sieci.
RIOT-OS w wersji 2021.01 — systemy i urządzenia IoT korzystające z modułu routingu GNRC RPL.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRiot Os Riot
OSRiot-Os2021.01
Powiązane podatności
RIOT OS: buffer overflow w gcoap prowadzący do RCE lub DoS
RIOT-OS: out-of-bounds write w obsłudze ramek 6LoWPAN umożliwia RCE
RIOT-OS: type confusion w 6LoWPAN prowadzący do RCE i DoS
RIOT-OS: RCE i DoS przez przepełnienie bufora w obsłudze ramek 6LoWPAN
Buffer overflow w RIOT-OS — podatność w module routingu RPL