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
Dostęp poza zakresem pamięci w cJSON związany z komentarzami wieloliniowymi
cJSON: out-of-bounds access przez znak \x00 w literale tekstowym
Buffer over-read w funkcji parse_string biblioteki cJSON
Use-after-free w bibliotece cJSON umożliwiający RCE
cJSON: niekontrolowana rekurencja prowadząca do wyczerpania stosu (DoS)