javító kiadás kritikai hiba kijavítása (), amely az alapértelmezett konfigurációban távoli kódfuttatáshoz vezethet, ha a támadó root jogosultságokkal rendelkezik. A probléma csak TLS támogatása esetén jelentkezik, és egy speciálisan kialakított kliens tanúsítvány vagy a SNI módosított értéke átküldésével kihasználható. A sérülékenység a Qualys cég által.
Probléma a speciális karakterek védelmét végző kezelőben ( a string.c fájlban) és az okozza, hogy a '\' karakter a sor végén a null karakter ('\0') előtt kerül értelmezésre, és kioltja azt. A '\' karakter és a ezutáni null befejező kód együtt egy karakterként kerül feldolgozásra, és a mutató elmozdul a sor határain túli adatokra, amelyeket a sor folytatásaként kezelnek.
A string_interpret_escape() hívását generáló kód a tényleges méret alapján foglal pufferhelyet, és a beállított mutató a puffer határain kívülre kerül. Ennek megfelelően, amikor a bemeneti sor feldolgozására kerül sor, a megadott területről történik az adatolvasás, míg a dekódolt sorra írás kísérlete pufferhatáron kívüli írást eredményezhet.
Alapértelmezett konfigurációban a sérülékenység a SNI-n keresztül történő kifejezetten kialakított adatok átküldésével kihasználható, amikor védett kapcsolatot létesítünk a szerverhez. A probléma szintén kihasználható a peerdn értékek módosításával olyan konfigurációk esetén, amelyeket kliens tanúsítvány alapú hitelesítésre állítottak be, vagy tanúsítványok importálásakor. A SNI-n és a peerdn-en keresztüli támadások az Exim 4.80 megjelenésétől kezdődően lehetségesek. , ahol a string_unprinting() funkciót alkalmazták a peerdn és SNI tartalmának dekódolására.
A SNI-n keresztüli támadáshoz prototípus exploiter készült, amely az i386 és amd64 architektúrákon működik Linux rendszerek alatt Glibc-vel. Az exploit a memória felülírását eredményező adatátfedést használja azokon a területeken, ahol a naplófájl neve van tárolva. A fájl neve felülíródik „/../../../../../../../../../../etc/passwd” értékkel. Ezt követően újraírja a küldő címének tárolt cím változóját, amely először kerül naplózásra, ez lehetővé teszi egy új felhasználó hozzáadását a rendszerhez.
A sérülékenységet javító csomagfrissítések a disztribúciók által kiadásra kerültek , , , és . A RHEL és a CentOS nem érintett a problémában, , mivel az Exim nem része a hivatalos csomagok tárolójának (a frissítés , de még a nyilvános tárolóba). Az Exim kódban a probléma egy sorra csökkentett kóddal orvosolható , amely letiltja a visszafejtő visszafelé per jel hatását, ha az a sor végén található.
Az TLS támogatás letiltásával, vagy a következő, az ACL szakaszba való hozzáadásával megkerülheti a sebezhetőséget:
acl_smtp_mail szakasz:
megtiltani feltétel = ${if eq{\\}{${substr{-1}{1}{$tls_in_sni}}}}
megtiltani feltétel = ${if eq{\\}{${substr{-1}{1}{$tls_in_peerdn}}}}
Forrás: opennet.ru
