Az e2fsck sebezhetősége a speciálisan kialakított könyvtárak feldolgozásakor

A csomag részeként kapott e2fsck segédprogramban e2fsprogs, azonosított sebezhetőség (CVE-2019 5188-), amely lehetővé teszi a támadó kódjának futtatását egy speciálisan kialakított könyvtárakat tartalmazó fájlrendszer ellenőrzésekor. A sérülékenységet az 1.43.3–1.45.4 kiadások erősítették meg. A biztonsági rést a frissítés során javították e2fsck 1.45.5. A disztribúciós készletekben a probléma továbbra is megoldatlan (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

A sérülékenységet a rehash.c fájl mute_name() függvényének hibája okozza, amelyet a könyvtárhoz társított hash táblák újraépítésekor használnak, biztosítva, hogy a könyvtárban lévő összes fájl megfeleljen a könyvtárnak. A címtárhoz társított hash_entry struktúra megsértése azt eredményezheti, hogy a támadó a lefoglalt pufferen kívüli területre ír adatokat. Ha a hash-táblázatban több azonos nevű fájl egy könyvtárhoz kapcsolódik, akkor az e2fsck segédprogram átnevezi a duplikált fájlokat a névhez ~0, ~1 stb. hozzáadásával. Az új név átmeneti tárolására az átnevezés során egy 256 bájt méretű puffer van lefoglalva a veremben.

A másolandó adatok méretét az "entry->name_len & 0xff" kifejezés határozza meg, de az entry->name_len értékét a rendszer a lemezen lévő struktúrából tölti be, nem pedig a név tényleges méretéből számítja ki. Ha a méret nulla, akkor a tömbindex -1 értéket vesz fel, és létrejönnek a feltételek az egész számok túlcsordulásához a puffer alsó határán (egész szám alulcsordulás), és a veremben lévő egyéb adatok „~0” értékkel felülírásához. A 64 bites rendszerek esetében a sérülékenység kihasználása valószínűtlen, és nem igényel korlátozást a verem méretét illetően (ulimit -s unlimited). A 32 bites rendszerek esetében a kiaknázás lehetségesnek tekinthető, de az eredmény nagymértékben függ attól, hogy a fordító hogyan fordította le a végrehajtható fájlt.

A támadás végrehajtásához a támadónak bizonyos módon meg kell rontania az adatokat az ext2, ext3 vagy ext4 fájlrendszerű partíción. Mivel ez a művelet szuperfelhasználói jogosultságokat igényel, a biztonsági rés fenyegetést jelent, amikor az e2fsck segédprogram külső meghajtókat vagy külsőleg fogadott FS-képfájlokat vizsgál.

Forrás: opennet.ru

Hozzászólás