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.
Inne podatności w Golioth Firmware SDK
Zobacz wszystkie- CVE-2026-23748Niskie
W zestawie SDK Golioth Firmware w wersji od 0.10.0 do 0.22.0 występuje podatność na odczyt poza zakresem pamięci podczas parsowania łańcuchów w LightDB State. Gdy wartość payload_size jest mniejsza niż 2, dochodzi do niedomiaru size_t przy obliczaniu liczby bajtów do skopiowania, a następnie funkcja memcpy() odczytuje dane poza buforem sieciowym, co może spowodować awarię urządzenia.
- CVE-2026-23747Niskie
W pakiecie Golioth Firmware SDK w wersjach od 0.10.0 do 0.22.0 (przed łatką 48f521b) występuje przepełnienie bufora na stosie w funkcjach pomocniczych Payload Utils. Funkcje golioth_payload_as_int() i golioth_payload_as_float() kopiują dane z sieci do stałych buforów na stosie za pomocą memcpy() z rozmiarem pochodzącym z payload_size, a jedyne sprawdzenia długości są chronione przez assert(), które w wersjach release są pomijane. Payloady większe niż 12 bajtów (int) lub 32 bajty (float) mogą przepełnić stos, prowadząc do awarii lub odmowy usługi.
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).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

