Zranitelnost v e2fsck, projevující se při zpracování speciálně upravených adresářů

V utilitě e2fsck dodávané v rámci balíčku e2fsprogs, byla odhalena zranitelnost (CVE-2019-5188), která umožňuje zneužití kódu útočníka při kontrole souborového systému obsahujícího speciálně formátované adresáře. Přítomnost zranitelnosti byla potvrzena v verzích od 1.43.3 do 1.45.4. Zranitelnost byla odstraněna v aktualizaci e2fsck 1.45.5. V distribucích zůstává problém zatím neopravený (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

Zranitelnost je způsobena chybou ve funkci mutate_name() z souboru rehash.c, která se používá při rekonstruování hash tabulek spojených s adresářem, jež zajišťují mapování všech souborů, které se v něm nacházejí. Poškození struktury hash_entry spojené s adresářem může vést k zápisu dat útočníka do oblasti mimo přidělený buffer. V případě, že je v hash tabulce vazba na adresář s několika soubory se stejným názvem, utilita e2fsck přejmenuje duplicitní soubory přidáním k názvu ~0, ~1 atd. Pro dočasné uložení nového názvu při takovém přejmenovávání se na zásobníku vyčleňuje buffer o velikosti 256 bytů.

Velikost kopírovaných dat je určena výrazem „entry->name_len & 0xff“, avšak hodnota entry->name_len se načítá ze struktury na disku, nikoli se počítá na základě skutečné velikosti názvu. Pokud je velikost nulová, index pole nabývá hodnoty -1 a vytváří se podmínky pro celým číslem podtečení (integer underflow) a přepsání dalších dat na zásobníku hodnotou „~0“. Pro 64bitové systémy je zneužití zranitelnosti hodnoceno jako nepravděpodobné a vyžaduje absenci omezení velikosti zásobníku (ulimit -s unlimited). Pro 32bitové systémy je zneužití považováno za možné, ale výsledek silně závisí na tom, jak byl spustitelný soubor zkompilován.

Pro provedení útoku musí útočník určitým způsobem poškodit data v části s FS ext2, ext3 nebo ext4. Jelikož tato operace vyžaduje privilegium superuživatele, zranitelnost představuje hrozbu při kontrole externích jednotek nebo obrazů FS získaných z vnějších zdrojů utilitou e2fsck.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster