Kwetsbaarheid in zlib die optreedt bij het comprimeren van speciaal ontworpen gegevens

Er is een kwetsbaarheid (CVE-2018-25032) geïdentificeerd in de zlib-bibliotheek, die leidt tot een bufferoverloop bij een poging om een ​​speciaal voorbereide reeks tekens in binnenkomende gegevens te comprimeren. In zijn huidige vorm hebben onderzoekers het vermogen aangetoond om een ​​proces abnormaal te laten eindigen. Of het probleem ernstiger gevolgen kan hebben, is nog niet onderzocht.

De kwetsbaarheid verschijnt vanaf versie zlib 1.2.2.2 en treft ook de huidige release van zlib 1.2.11. Het is opmerkelijk dat in 2018 een patch werd voorgesteld om de kwetsbaarheid te corrigeren, maar de ontwikkelaars hebben er geen aandacht aan besteed en geen corrigerende release uitgebracht (de zlib-bibliotheek is voor het laatst bijgewerkt in 2017). Ook is de fix nog niet opgenomen in de pakketten die door distributies worden aangeboden. U kunt de publicatie van fixes per distributie volgen op deze pagina's: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. De zlib-ng-bibliotheek heeft geen last van het probleem.

Het beveiligingslek treedt op als de invoerstroom een ​​groot aantal te verpakken matches bevat, waarop inpakken wordt toegepast op basis van vaste Huffman-codes. Onder bepaalde omstandigheden kan de inhoud van de tussenbuffer waarin het gecomprimeerde resultaat wordt geplaatst het geheugen overlappen waarin de symboolfrequentietabel is opgeslagen. Als gevolg hiervan worden onjuist gecomprimeerde gegevens gegenereerd en loopt het vast als er buiten de buffergrens wordt geschreven.

Het beveiligingslek kan alleen worden misbruikt met behulp van een compressiestrategie op basis van vaste Huffman-codes. Een soortgelijke strategie wordt gekozen wanneer de optie Z_FIXED expliciet is ingeschakeld in de code (een voorbeeld van een reeks die tot een crash leidt bij gebruik van de optie Z_FIXED). Afgaande op de code kan de Z_FIXED-strategie ook automatisch worden geselecteerd als de voor de gegevens berekende optimale en statische bomen dezelfde grootte hebben.

Het is nog niet duidelijk of de voorwaarden voor het misbruiken van de kwetsbaarheid kunnen worden geselecteerd met behulp van de standaard Z_DEFAULT_STRATEGY-compressiestrategie. Zo niet, dan blijft de kwetsbaarheid beperkt tot bepaalde specifieke systemen die expliciet gebruik maken van de Z_FIXED-optie. Als dat zo is, kan de schade als gevolg van het beveiligingslek zeer aanzienlijk zijn, aangezien de zlib-bibliotheek een de facto standaard is en in veel populaire projecten wordt gebruikt, waaronder de Linux-kernel, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg , rpm, Git , PostgreSQL, MySQL, enz.

Bron: opennet.ru

Voeg een reactie