Er is een kwetsbaarheid gedetecteerd in zlib

onlangs nieuws over een kwetsbaarheid in de zlib-bibliotheek is vrijgegeven al gecatalogiseerd onder CVE-2018-25032 die een bufferoverloop veroorzaakt bij het comprimeren van een speciaal voorbereide tekenreeks in de binnenkomende gegevens.

In zijn huidige vorm is de onderzoekers hebben de mogelijkheid aangetoond om abnormale beëindiging te noemen van het proces, dus er is nog niet onderzocht of het probleem ernstiger gevolgen kan hebben.

Er wordt vermeld dat de kwetsbaarheid het heeft zich gemanifesteerd sinds zlib 1.2.2.2 en beïnvloedt de huidige versie van zlib 1.2.11. Het is opmerkelijk dat in 2018 een patch voor het oplossen van de kwetsbaarheid werd voorgesteld, maar de ontwikkelaars schonken er geen aandacht aan en brachten geen corrigerende versie uit (de zlib-bibliotheek is voor het laatst bijgewerkt in 2017).

Deze bug is gemeld door Danilo Ramos van Eideticom, Inc die: hij was 13 jaar op jacht voordat hij werd gevonden! De bug is geïntroduceerd in zlib 1.2.2.2, met de toevoeging van de optie Z_FIXED. De optie dwingt het gebruik van vaste Huffman-codes af. Voor zeldzame inzendingen met
veel verre matches, de wachtende buffer waarin gecomprimeerde gegevens worden geschreven, kunnen worden overschreven. Dat resulteert in een beschadigde uitvoer vanwege: ongeldige afstanden, en kan resulteren in out-of-bounds toegang, de app laten crashen.

Kwetsbaarheid manifesteert zich als de invoerstroom een ​​groot aantal overeenkomsten bevat inpakken, waaraan verpakking wordt toegepast op basis van Huffman-codes gemaakt. Onder bepaalde omstandigheden kan de inhoud van de tussenbuffer waarin het gecomprimeerde resultaat wordt geplaatst, overlappen met het geheugen waarin de symboolfrequentietabel is opgeslagen. Dientengevolge wordt de vorming van onjuiste gecomprimeerde gegevens en een crash als gevolg van schrijven buiten de buffergrens waargenomen.

Kwetsbaarheid het kan alleen worden misbruikt door een compressiestrategie die is gebaseerd op vaste Huffman-codes. Een vergelijkbare strategie wordt gekozen wanneer de optie Z_FIXED expliciet in de code is opgenomen (een voorbeeld van een reeks die een crash veroorzaakt bij gebruik van de optie Z_FIXED). Afgaande op de code kan de Z_FIXED-strategie ook automatisch worden gekozen als de optimale en statische bomen die voor de gegevens zijn berekend, dezelfde grootte hebben.

De oplossing hier combineert de afstandsbuffer en de letterlijke/lengte buffers in een enkele symboolbuffer. Nu drie bytes dbufferruimte wordt geopend voor elke letterlijke of lengte/afstand verbruikt paar, in plaats van de vorige twee bytes zorgt dit ervoor:
dat de wachtende buffer de symbolentabel niet kan overschrijven, aangezien de maximale gecomprimeerde vaste codelengte/afstand is 31 bits, en aangezien er vier bytes aan openstaande ruimte zijn voor elke drie bytes van de symboolruimte.

Het is nog niet duidelijk of de voorwaarden om misbruik te maken van de kwetsbaarheid kunnen overeenkomen met de Z_DEFAULT_STRATEGY-compressiestrategie, die standaard wordt toegepast.

Anders wordt de kwetsbaarheid beperkt tot bepaalde specifieke systemen waar de Z_FIXED-optie expliciet wordt toegepast. Als dat zo is, kan de schade door de kwetsbaarheid erg groot zijn, aangezien de zlib-bibliotheek de de facto standaard is en wordt gebruikt in veel populaire projecten, waaronder de Linux-kernel, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync , dpkg. , rpm, Git, PostgreSQL, MySQL, enz.

Dat wordt ook vermeld de geselecteerde parameters waaronder de kwetsbaarheid zich manifesteert bij het kiezen van de standaard compressiestrategie Z_DEFAULT_STRATEGY. Onder reële omstandigheden, de aanval wordt nog steeds als onwaarschijnlijk beschouwd, omdat voor exploitatie met behulp van de onthulde reeks de parameter memLevel op 1 moet worden ingesteld, terwijl niveau 8 standaard is geselecteerd.

Een voorbeeld van een vergrendelingsreeks wanneer "deflateInit2(&strm, 7, Z_DEFLATED, 15, 1, Z_DEFAULT_STRATEGY)" wordt aangeroepen (level=7, windowBits=15, memLevel=1).

Eindelijk het moet worden vermeld dat de oplossing ook niet is inbegrepen nog steeds in pakketten aangeboden door distributies, zodat u de release van fixes door distributies op deze pagina's kunt volgen: DebianRHELFedoraSUSEUbuntu, Arch LinuxOpenBSD  FreeBSDNetBSD, plus de zlib-ng-bibliotheek wordt niet beïnvloed door het probleem.

Als u er meer over wilt weten, kunt u de details raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.