Sårbarhet i zlib som uppstår vid komprimering av specialdesignade data

En sårbarhet (CVE-2018-25032) har identifierats i zlib-biblioteket, vilket leder till ett buffertspill vid försök att komprimera en speciellt förberedd sekvens av tecken i inkommande data. I sin nuvarande form har forskare visat förmågan att få en process att avslutas onormalt. Om problemet kan få allvarligare konsekvenser har ännu inte studerats.

Sårbarheten visas från och med version zlib 1.2.2.2 och påverkar även den aktuella versionen av zlib 1.2.11. Det är anmärkningsvärt att en patch för att korrigera sårbarheten föreslogs redan 2018, men utvecklarna uppmärksammade det inte och släppte inte en korrigerande version (zlib-biblioteket uppdaterades senast 2017). Fixningen är inte heller inkluderad i paketen som erbjuds av distributioner. Du kan spåra publiceringen av korrigeringar efter distributioner på dessa sidor: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. zlib-ng-biblioteket påverkas inte av problemet.

Sårbarheten uppstår om indataströmmen innehåller ett stort antal matchningar som ska packas, till vilka packning tillämpas baserat på fasta Huffman-koder. Under vissa omständigheter kan innehållet i den mellanbuffert i vilken det komprimerade resultatet placeras överlappa minnet i vilket symbolfrekvenstabellen är lagrad. Som ett resultat genereras felaktig komprimerad data och kraschar på grund av skrivning utanför buffertgränsen.

Sårbarheten kan endast utnyttjas med en komprimeringsstrategi baserad på fasta Huffman-koder. En liknande strategi väljs när Z_FIXED-alternativet är explicit aktiverat i koden (ett exempel på en sekvens som leder till en krasch när Z_FIXED-alternativet används). Att döma av koden kan Z_FIXED-strategin också väljas automatiskt om de optimala och statiska träden som beräknats för data har samma storlek.

Det är ännu inte klart om villkoren för att utnyttja sårbarheten kan väljas med hjälp av standardkomprimeringsstrategin Z_DEFAULT_STRATEGY. Om inte, kommer sårbarheten att begränsas till vissa specifika system som uttryckligen använder alternativet Z_FIXED. Om så är fallet kan skadan från sårbarheten vara mycket betydande, eftersom zlib-biblioteket är en de facto-standard och används i många populära projekt, inklusive Linux-kärnan, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg , rpm, Git , PostgreSQL, MySQL, etc.

Källa: opennet.ru

Lägg en kommentar