Vulnerabilitatea în zlib care apare la comprimarea datelor special concepute

O vulnerabilitate (CVE-2018-25032) a fost identificată în biblioteca zlib, ceea ce duce la o depășire a memoriei tampon atunci când se încearcă comprimarea unei secvențe special pregătite de caractere în datele primite. În forma sa actuală, cercetătorii au demonstrat capacitatea de a determina terminarea anormală a unui proces. Nu a fost încă studiat dacă problema ar putea avea consecințe mai grave.

Vulnerabilitatea apare începând cu versiunea zlib 1.2.2.2 și afectează, de asemenea, versiunea curentă a zlib 1.2.11. Este de remarcat faptul că un patch pentru a corecta vulnerabilitatea a fost propus încă din 2018, dar dezvoltatorii nu i-au acordat atenție și nu au lansat o versiune corectivă (biblioteca zlib a fost actualizată ultima dată în 2017). Remedierea nu este încă inclusă în pachetele oferite de distribuții. Puteți urmări publicarea corecțiilor după distribuții pe aceste pagini: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Biblioteca zlib-ng nu este afectată de problemă.

Vulnerabilitatea apare dacă fluxul de intrare conține un număr mare de potriviri care trebuie împachetate, cărora li se aplică împachetarea pe baza codurilor Huffman fixe. În anumite circumstanțe, conținutul tamponului intermediar în care este plasat rezultatul comprimat se poate suprapune cu memoria în care este stocat tabelul de frecvență a simbolurilor. Ca rezultat, sunt generate date comprimate incorecte și se blochează din cauza scrierii în afara limitei tamponului.

Vulnerabilitatea poate fi exploatată doar folosind o strategie de compresie bazată pe coduri Huffman fixe. O strategie similară este aleasă atunci când opțiunea Z_FIXED este activată în mod explicit în cod (un exemplu de secvență care duce la o blocare când se utilizează opțiunea Z_FIXED). Judecând după cod, strategia Z_FIXED poate fi, de asemenea, selectată automat dacă arborii optimi și statici calculati pentru date au aceeași dimensiune.

Nu este încă clar dacă condițiile de exploatare a vulnerabilității pot fi selectate folosind strategia de compresie Z_DEFAULT_STRATEGY implicită. Dacă nu, atunci vulnerabilitatea va fi limitată la anumite sisteme specifice care utilizează în mod explicit opțiunea Z_FIXED. Dacă da, atunci daunele cauzate de vulnerabilitate ar putea fi foarte semnificative, deoarece biblioteca zlib este un standard de facto și este folosită în multe proiecte populare, inclusiv kernel-ul Linux, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg. , rpm, Git , PostgreSQL, MySQL etc.

Sursa: opennet.ru

Adauga un comentariu