
CERT Polska opublikował szczegóły podatności CVE-2026-16554 w popularnej, otwartoźródłowej bibliotece cJSON. Błąd typu integer overflow występuje w funkcji print_string_ptr() i dotyczy platform 32-bitowych. Atakujący może wykorzystać spreparowany ciąg JSON, aby doprowadzić do przepełnienia bufora na stercie, co w skrajnym przypadku umożliwia zdalne wykonanie kodu.
Szczegóły podatności
Funkcja print_string_ptr() w pliku cJSON.c używa 32-bitowej zmiennej size_t jako licznika escape_characters. Gdy przetwarzany ciąg JSON zawiera około 858 993 460 lub więcej znaków kontrolnych, licznik ulega przepełnieniu. W efekcie bufor wyjściowy zostaje przydzielony na podstawie niedoszacowanej długości. Jeśli aplikacja korzysta z funkcji cJSON_PrintBuffered() z prealokowanym buforem, pętla zapisu powoduje przepełnienie alokacji na stercie. Może to prowadzić do zdalnego wykonania kodu, wycieku informacji lub awarii programu.
Kto jest zagrożony
Podatność dotyczy wyłącznie systemów i urządzeń działających na architekturze 32-bitowej. Biblioteka cJSON jest szeroko stosowana w aplikacjach embedded, narzędziach IoT, a także w projektach internetowych i desktopowych. Każda aplikacja, która przetwarza dostarczane przez użytkownika dane JSON na platformie 32-bitowej i korzysta z podatnych wersji biblioteki, może być narażona na atak. CERT Polska potwierdził występowanie błędu w wersji 1.7.19, ale nie wyklucza, że dotyczy on także innych wersji.
Reakcja CERT Polska i autorów
Za zgłoszenie podatności odpowiadają Michał Majchrowicz i Marcin Wyczechowski z zespołu AFINE. CERT Polska koordynował proces ujawniania informacji, jednak próby kontaktu z producentem biblioteki (DaveGamble) były bezskuteczne. Z tego powodu podatność została upubliczniona bez oficjalnej łatki. Użytkownicy powinni samodzielnie monitorować repozytorium projektu w poszukiwaniu poprawek.
Najważniejsze fakty
| Element | Opis |
|---|---|
| Identyfikator | CVE-2026-16554 |
| Biblioteka | DaveGamble cJSON |
| Rodzaj błędu | Integer overflow w print_string_ptr() |
| Potwierdzona wersja | 7.19 (prawdopodobnie inne) |
| Wymagana platforma | 32-bitowa |
| Potencjalny skutek | RCE, wyciek informacji, crash |
| Status poprawek | Brak oficjalnej łatki |
Zalecenia
Deweloperzy i administratorzy systemów wykorzystujących cJSON na architekturze 32-bitowej powinni jak najszybciej sprawdzić, czy używają podatnej wersji biblioteki. Do czasu wydania poprawek zaleca się ograniczenie przetwarzania niezaufanych danych JSON lub przejście na architekturę 64-bitową, która nie jest dotknięta tym błędem. W razie wątpliwości warto skontaktować się z zespołem bezpieczeństwa swojego projektu.
Źródło: CERT Polska – https://cert.pl/posts/2026/07/CVE-2026-16554/
Źródła i weryfikacja
Materiał przygotowano jako praktyczną notatkę redakcyjną. Przed decyzjami prawnymi, finansowymi lub urzędowymi sprawdzaj dane w źródle pierwotnym.
- Oficjalne źródła i weryfikacja redakcyjna