Sårbarhed i e2fsck ved behandling af specialdesignede mapper

I e2fsck-værktøjet, der leveres som en del af pakken e2fsprogs, identificeret sårbarhed (CVE-2019-5188), som giver dig mulighed for at udføre en angribers kode, når du kontrollerer et filsystem, der indeholder specialdesignede mapper. Sårbarheden blev bekræftet i udgivelser 1.43.3 til 1.45.4. Sårbarhed rettet i opdatering e2fsck 1.45.5. I distributionssæt er problemet stadig ukorrigeret (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

Sårbarheden er forårsaget af en fejl i mutate_name()-funktionen i rehash.c-filen, som bruges ved genopbygning af hashtabellerne, der er knyttet til en mappe, og sikrer, at alle filer i mappen matches med mappen. Korruption af hash_entry-strukturen forbundet med en mappe kan resultere i, at en angriber skriver data til et område uden for den tildelte buffer. Hvis flere filer med samme navn identificeres i hash-tabellen som værende knyttet til en mappe, omdøber e2fsck-værktøjet dubletfilerne ved at tilføje ~0, ~1 osv. til navnet. For midlertidigt at gemme det nye navn under en sådan omdøbning tildeles en buffer på 256 bytes i størrelsen på stakken.

Størrelsen af ​​de data, der skal kopieres, bestemmes af udtrykket "entry->name_len & 0xff", men værdien af ​​entry->name_len indlæses fra en struktur på disken i stedet for at beregnes ud fra den faktiske størrelse af navnet. Hvis størrelsen er nul, tager array-indekset værdien -1, og der skabes betingelser for heltalsoverløb gennem bufferens nedre grænse (heltalsunderløb) og overskrivning af andre data på stakken med værdien "~0". For 64-bit systemer vurderes udnyttelse af sårbarheden som usandsynlig og kræver ingen begrænsninger på stakstørrelsen (ulimit -s ubegrænset). For 32-bit systemer anses udnyttelse for mulig, men resultatet er meget afhængig af, hvordan den eksekverbare kompilering blev kompileret af compileren.

For at udføre et angreb skal en angriber korrumpere dataene på en bestemt måde i partitionen med filsystemet ext2, ext3 eller ext4. Da denne handling kræver superbrugerrettigheder, udgør sårbarheden en trussel, når e2fsck-værktøjet scanner eksterne drev eller eksternt modtagne FS-billeder.

Kilde: opennet.ru

Tilføj en kommentar