Funkcja parse_string w bibliotece cJSON nieprawidłowo obsługuje ciągi znaków UTF8/16, co prowadzi do heap-based buffer overflow. Podatność umożliwia zdalnemu atakującemu bez uwierzytelnienia wywołanie awarii aplikacji lub wykonanie dowolnego kodu.
▸ Pokaż oryginał (EN)
The parse_string function in cjson.c in the cJSON library mishandles UTF8/16 strings, which allows remote attackers to cause a denial of service (crash) or execute arbitrary code via a non-hex character in a JSON string, which triggers a heap-based buffer overflow.
Atakujący wysyła specjalnie spreparowany ciąg JSON zawierający niedozwolony znak niebędący cyfrą szesnastkową (non-hex) w sekwencji Unicode. Funkcja parse_string w pliku cjson.c nie waliduje poprawnie takiego wejścia podczas przetwarzania łańcuchów UTF8/16. Skutkuje to przepełnieniem bufora na stercie (heap-based buffer overflow), nadpisując sąsiednie obszary pamięci. Podatność jest wyzwalana zdalnie przez dostarczenie złośliwego wejścia JSON do aplikacji korzystającej z podatnej biblioteki cJSON.
Atakujący może spowodować awarię podatnej aplikacji (DoS) lub wykonać dowolny kod na zdalnym systemie (RCE) z uprawnieniami procesu obsługującego żądanie.
Należy zaktualizować iperf3 do wersji 3.1.3 lub 3.0.12, w których podatność została usunięta. Użytkownicy dystrybucji openSUSE i SUSE powinni zainstalować dostępne aktualizacje pakietów zgodnie z opublikowanymi listami aktualizacji. Zaleca się również ograniczenie dostępu sieciowego do usług iperf3 wyłącznie do zaufanych hostów.
Biblioteka cJSON używana w narzędziu iperf3 (ESnet iperf3); dystrybucje openSUSE Leap oraz openSUSE, a także Novell SUSE Package Hub for SUSE Linux Enterprise zawierające podatne pakiety iperf3. Konkretne numery wersji wskazane w referencjach producenta (łatka dostępna od wersji iperf 3.1.3 / 3.0.12).
Podatność została zgłoszona i opisana przez Cisco Talos (raport TALOS-2016-0164). Blog Talos Intelligence oraz dedykowany raport stanowią źródło technicznych szczegółów.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDebian
OSDebian8.0Es Iperf3
APPEs3.0 – 3.0.12 (bez)3.1 – 3.1.3 (bez)Novell SUSE Package Hub For SUSE Linux Enterprise
APPNovell12Opensuse Leap
OSOpensuse42.1Opensuse
OSOpensuse13.2
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki