CVE-2026-23749
NiskieCVSS 2.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
W Golioth Firmware SDK w wersjach od 0.19.1 do 0.21.0 występuje podatność na odczyt poza zakresem pamięci spowodowany brakiem prawidłowego zakończenia ścieżki transferu blokowego. Funkcja blockwise_transfer_init() kopiuje ścieżkę za pomocą strncpy() bez gwarancji dodania znaku null, co prowadzi do niezakończonego bufora. Późniejsze wywołanie strlen() na tym buforze może odczytać dane poza przydzielonym obszarem, powodując awarię lub odmowę usługi.
Ocena ryzyka
Ryzyko polega na możliwości wywołania awarii systemu przez aplikację, co prowadzi do przerwania działania urządzenia. Podatność jest kontrolowana przez aplikację, a nie przez sieć, co ogranicza jej zdalne wykorzystanie, ale w przypadku błędnej konfiguracji może być wykorzystana lokalnie.
Rekomendacja
Należy natychmiast zaktualizować Golioth Firmware SDK do wersji 0.22.0 lub nowszej, która zawiera poprawkę w commicie 0e788217. Jeśli aktualizacja nie jest możliwa, należy ręcznie zapewnić prawidłowe zakończenie ścieżki znakiem null w kodzie aplikacji.
Oryginalny opis (angielski, źródło NVD)
Golioth Firmware SDK version 0.19.1 prior to 0.22.0, fixed in commit 0e788217, contain an out-of-bounds read due to improper null termination of a blockwise transfer path. blockwise_transfer_init() accepts a path whose length equals CONFIG_GOLIOTH_COAP_MAX_PATH_LEN and copies it using strncpy() without guaranteeing a trailing NUL byte, leaving ctx->path unterminated. A later strlen() on this buffer (in golioth_coap_client_get_internal()) can read past the end of the allocation, resulting in a crash/denial of service. The input is application-controlled (not network by default).

