Sårbarhet i e2fsck ved behandling av spesialdesignede kataloger

I e2fsck-verktøyet som følger med som en del av pakken e2fsprogs, identifisert sårbarhet (CVE-2019-5188), som lar deg kjøre en angripers kode når du sjekker et filsystem som inneholder spesialdesignede kataloger. Sårbarheten ble bekreftet i utgivelsene 1.43.3 til 1.45.4. Sårbarhet fikset i oppdatering e2fsck 1.45.5. I distribusjonssett er problemet fortsatt ukorrigert (Debian, Arch Linux, SUSE / openSUSE, Ubuntu, RHEL).

Sårbarheten er forårsaket av en feil i mutate_name()-funksjonen i rehash.c-filen, som brukes når du gjenoppbygger hashtabellene knyttet til en katalog, og sikrer at alle filene i katalogen samsvarer med katalogen. Korrupsjon av hash_entry-strukturen knyttet til en katalog kan føre til at en angriper skriver data til et område utenfor den tildelte bufferen. Hvis flere filer med samme navn identifiseres i hash-tabellen som koblet til en katalog, vil e2fsck-verktøyet gi nytt navn til duplikatfilene ved å legge til ~0, ~1, osv. til navnet. For midlertidig å lagre det nye navnet under en slik omdøping, tildeles en buffer på 256 byte i størrelsen på stabelen.

Størrelsen på dataene som skal kopieres bestemmes av uttrykket "entry->name_len & 0xff", men verdien av entry->name_len lastes fra en struktur på disken i stedet for å beregnes ut fra den faktiske størrelsen på navnet. Hvis størrelsen er null, tar array-indeksen verdien -1 og betingelser opprettes for heltallsoverflyt gjennom den nedre grensen til bufferen (heltallsunderflyt) og overskriving av andre data på stabelen med verdien "~0". For 64-bits systemer vurderes utnyttelse av sårbarheten som usannsynlig og krever ingen restriksjoner på stabelstørrelsen (ulimit -s unlimited). For 32-bits systemer anses utnyttelse som mulig, men resultatet er svært avhengig av hvordan den kjørbare ble kompilert av kompilatoren.

For å utføre et angrep, må en angriper ødelegge dataene på en bestemt måte i partisjonen med filsystemet ext2, ext3 eller ext4. Siden denne operasjonen krever superbrukerrettigheter, utgjør sårbarheten en trussel når e2fsck-verktøyet skanner eksterne stasjoner eller eksternt mottatte FS-bilder.

Kilde: opennet.ru

Legg til en kommentar