Biblioteka cJSON w wersjach 1.5.0–1.7.18 zawiera podatność typu out-of-bounds access w funkcji decode_array_index_from_pointer w pliku cJSON_Utils.c. Luka umożliwia zdalnym atakującym ominięcie mechanizmu weryfikacji granic tablic i uzyskanie dostępu do chronionych danych.
▸ Pokaż oryginał (EN)
cJSON 1.5.0 through 1.7.18 allows out-of-bounds access via the decode_array_index_from_pointer function in cJSON_Utils.c, allowing remote attackers to bypass array bounds checking and access restricted data via malformed JSON pointer strings containing alphanumeric characters.
Atakujący wysyła specjalnie spreparowany ciąg JSON pointer zawierający znaki alfanumeryczne, który jest błędnie przetwarzany przez funkcję decode_array_index_from_pointer. Funkcja ta nie waliduje poprawnie indeksów tablicy (CWE-129 — improper validation of array index), co prowadzi do odczytu danych poza dozwolonym zakresem pamięci (CWE-125 — out-of-bounds read). W efekcie mechanizm sprawdzania granic tablicy zostaje ominięty, a biblioteka uzyskuje dostęp do obszarów pamięci wykraczających poza zaalokowany bufor.
Zdalny atakujący może uzyskać dostęp do chronionych danych w pamięci aplikacji, co zagraża poufności, integralności i dostępności systemu. Ze względu na krytyczny poziom CVSS (9.8) oraz brak wymagań co do uwierzytelnienia, podatność stwarza poważne ryzyko w każdym środowisku, w którym aplikacja przetwarza niezaufane dane JSON.
Należy zaktualizować bibliotekę cJSON do wersji wyższej niż 1.7.18, w której luka została usunięta. Użytkownicy dystrybucji Debian powinni zastosować patche opublikowane w ramach debian-lts-announce (wrzesień 2025). Szczegółowe informacje dostępne są pod adresem: https://x-0r.com/posts/cJSON-Array-Index-Parsing-Vulnerability oraz https://lists.debian.org/debian-lts-announce/2025/09/msg00019.html
Biblioteka cJSON (autorstwa Davegamble) w wersjach od 1.5.0 do 1.7.18 włącznie; dotyczy wszystkich aplikacji korzystających z komponentu cJSON_Utils.c
Podatność opisana szczegółowo w publikacji badacza dostępnej pod adresem https://x-0r.com/posts/cJSON-Array-Index-Parsing-Vulnerability. Debian LTS wydał ogłoszenie o poprawkach bezpieczeństwa w wrześniu 2025 roku.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDavegamble Cjson
APPDavegamble1.5.0 – 1.7.18
Powiązane podatności
cJSON before 1.7.11 allows out-of-bounds access, related to \x00 in a string literal.
cJSON before 1.7.11 allows out-of-bounds access, related to multiline comments.
parse_string in cJSON.c in cJSON before 2016-10-02 has a buffer over-read, as demonstrated by a string that be...
Dave Gamble cJSON version 1.7.3 and earlier contains a CWE-416: Use After Free vulnerability in cJSON library ...
cJSON v1.7.16 was discovered to contain a segmentation violation via the function cJSON_SetValuestring at cJSO...