CVE-2026-23748
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Złośliwy serwer lub atakujący typu MITM może wykorzystać tę podatność do wywołania odmowy usługi (DoS) na urządzeniach IoT korzystających z podatnej wersji SDK, co może zakłócić ich działanie i dostępność.
Rekomendacja
Należy natychmiast zaktualizować Golioth Firmware SDK do wersji 0.22.0 lub nowszej, która zawiera poprawkę w commicie d7f55b38. W przypadku braku możliwości aktualizacji, należy zaimplementować walidację payload_size przed przetwarzaniem łańcuchów.
Inne podatności w Golioth Firmware SDK
Zobacz wszystkie- CVE-2026-23749Niskie
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.
- 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.10.0 prior to 0.22.0, fixed in commit d7f55b38, contain an out-of-bounds read in LightDB State string parsing. When processing a string payload, a payload_size value less than 2 can cause a size_t underflow when computing the number of bytes to copy (nbytes). The subsequent memcpy() reads past the end of the network buffer, which can crash the device. The condition is reachable from on_payload, and golioth_payload_is_null() does not block payload_size==1. A malicious server or MITM can trigger a denial of service.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

