CVE-2026-87933
WysokieCVSS 7.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 - wyżej niż 23% wszystkich znanych CVE
Streszczenie
W bibliotece DaveGamble cJSON do wersji 1.7.19 wykryto podatność w funkcji cJSONUtils_MergePatch w pliku cJSON_Utils.c. Manipulacja prowadzi do użycia zwolnionej pamięci (use after free), a atak może być przeprowadzony zdalnie. Exploit został upubliczniony, a pull request z poprawką oczekuje na akceptację.
Ocena ryzyka
Zdalny atakujący może wykorzystać use after free do destabilizacji aplikacji lub potencjalnego wykonania kodu. Publicznie dostępny exploit zwiększa ryzyko szybkiego wykorzystania.
Rekomendacja
Śledź pull request z poprawką i zaktualizuj cJSON do wersji zawierającej poprawkę, gdy tylko będzie dostępna. Do czasu aktualizacji ogranicz przetwarzanie niezaufanych danych wejściowych przez cJSONUtils_MergePatch.
Inne podatności w cJSON
Zobacz wszystkie- CVE-2026-29036Wysokie
cJSON w wersjach od 1.5.0 do 1.7.19 zawiera podatność nieprawidłowo rozwiązywanego nazwy lub odniesienia w funkcji decode_pointer_inplace() w pliku cJSON_Utils.c, która pozwala nieuwierzytelnionym atakującym powodować, że operacje JSON Patch będą celować w niewłaściwe klucze obiektów, dostarczając spreparowane sekwencje ucieczki JSON Pointer (~0 lub ~1) w ścieżkach poprawek. Atakujący mogą przesyłać złośliwe dane wejściowe JSON Patch zgodne z RFC 6902 do aplikacji używających cJSONUtils_ApplyPatches() lub cJSONUtils_ApplyPatchesCaseSensitive(), aby po cichu uszkodzić dane lub usunąć niezamierzone klucze, potencjalnie omijając kontrolę autoryzacji w aplikacjach, które polegają na JSON Patch do modyfikacji danych z kontrolą dostępu.
- CVE-2026-67217Średnie
Podatność w bibliotece cJSON (do wersji 1.7.19) powoduje, że operacje JSON Patch (RFC 6902) nie są wykonywane atomowo – w przypadku błędu walidacji, docelowy element jest usuwany przed pełnym sprawdzeniem, co pozwala atakującemu na modyfikację dokumentu pomimo zgłoszenia błędu.
- CVE-2026-67216Średnie
Podatność w bibliotece cJSON (do wersji 1.7.19) powoduje nieefektywną złożoność algorytmiczną w funkcji cJSON_Compare(), która przy porównywaniu zagnieżdżonych obiektów wykonuje wykładniczą liczbę operacji, co może prowadzić do odmowy usługi (DoS) przy głęboko zagnieżdżonych dokumentach.
- CVE-2026-67215Wysokie
cJSON do wersji 1.7.19 jest podatny na niekontrolowaną rekurencję prowadzącą do wyczerpania stosu podczas stosowania niezaufanej łatki JSON Patch (RFC 6902) przez funkcje cJSONUtils_ApplyPatches. Atakujący może dostarczyć łatkę z operacjami add i copy, które multiplikują zagnieżdżenie dokumentu, powodując przepełnienie stosu i awarię procesu.
- CVE-2026-16554Wysokie
Biblioteka cJSON jest podatna na przepełnienie liczb całkowitych w funkcji print_string_ptr() w cJSON.c na platformach 32-bitowych. Licznik escape_characters, 32-bitowy size_t, może się zawinąć podczas przetwarzania ciągów zawierających około 858 993 460 lub więcej znaków kontrolnych, powodując alokację bufora wyjściowego na podstawie zaniżonej długości. Gdy używana jest cJSON_PrintBuffered() z prealokowanym buforem, późniejsza pętla zapisu przepełnia alokację sterty. Atakujący dostarczający spreparowany ciąg JSON do aplikacji używającej cJSON na platformie 32-bitowej może spowodować przepełnienie bufora sterty, potencjalnie prowadząc do zdalnego wykonania kodu, ujawnienia informacji lub odmowy usługi. Ponieważ próby kontaktu z twórcą projektu były nieskuteczne, podatność została potwierdzona tylko w wersji 1.7.19, ale może również dotyczyć innych wersji.
Oryginalny opis (angielski, źródło NVD)
A vulnerability was found in DaveGamble cJSON up to 1.7.19. The affected element is the function cJSONUtils_MergePatch of the file cJSON_Utils.c. The manipulation results in use after free. The attack may be launched remotely. The exploit has been made public and could be used. The pull request to fix this issue awaits acceptance.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

