Viga e2fsck-s, mis ilmneb spetsiaalselt kujundatud kataloogide töötlemisel

E2fsck utiliidis, mis on osa pakist e2fsprogs, tuvastatud haavatavus (CVE-2019-5188), mis võimaldab ründajal saada koodi täitmise õiguse, kui kontrollitakse failisüsteemi, mis sisaldab erikujundusega katalooge. Haavatavust on kinnitatud versioonides 1.43.3 kuni 1.45.4. Haavatavus on kõrvaldatud uuenduses e2fsck 1.45.5. Distroodes jääb probleem veel lahendamata (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

Haavatavus on tingitud veast funktsioonis mutate_name() failis rehash.c, mis rakendatakse seotud katalooge puudutavate hash-tabelite taastamisel, tagades katalooge kõigi seal sisalduvate failide vastandamise. Kataloogiga seotud struktuuri hash_entry kahjustamine võib viia ründaja andmete kirjutamiseni mälupiirkonda, mis ei ole reserveeritud. Kui hash-tabelis tuvastatakse mitu failide sidumist ühe ja sama nimega, siis e2fsck utiliit nimetab dubleerivad failid ümber, lisades nimele ~0, ~1 jne. Sellise ümbernimetamise ajaks reserveeritakse 256 baitine puhver, et ajutiselt hoida uut nime.

Kopeeritava andmete suurus määratakse väljendi «entry->name_len & 0xff» kaudu, kuid väärtus entry->name_len laaditakse struktuurist kettal, mitte ei arvutata tegeliku nime suuruse põhjal. Kui suurus on null, siis massiivi indeks muutub -1-ks ning tekivad tingimused, mis võimaldavad täisarvu ülevoolu läbi puhverdamise ala allääne (integer underflow) ja muude andmete ülekirjutamist tükis väärtusega „~0“. 64-bitistes süsteemides on haavatavuse ekspluateerimine hinnatud madalaks ja nõuab, et mälulocks ei oleks piiratud (ulimit -s unlimited). 32-bitistes süsteemides peetakse ekspluateerimist võimalikuks, kuid tulemus sõltub tugevalt sellest, kuidas tõlgitud fail on koostatud.

Rünnaku teostamiseks peab ründaja teatud viisil kahjustama andmeid ext2, ext3 või ext4 failisüsteemis. Kuna see operatsioon nõuab superkasutaja õigusi, kujutab haavatavus ohtu, kui e2fsck utiliit kontrollib väliseid salvestusseadmeid või väljaletsitud failisüsteemide kujutisi.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster