Az OpenSSL puffertúlcsordulása kihasználva az X.509 tanúsítványok ellenőrzésekor

Megjelent az OpenSSL kriptográfiai könyvtár 3.0.7 javító kiadása, amely két sebezhetőséget javít ki. Mindkét problémát a puffertúlcsordulás okozza az e-mail mező érvényesítési kódjában az X.509 tanúsítványokban, és potenciálisan kódfuttatáshoz vezethet egy speciálisan keretezett tanúsítvány feldolgozása során. A javítás közzétételekor az OpenSSL fejlesztői nem rögzítettek semmilyen bizonyítékot olyan működő exploit jelenlétére, amely a támadó kódjának végrehajtásához vezethet.

Annak ellenére, hogy az új kiadás megjelenés előtti bejelentése egy kritikus probléma jelenlétét említette, valójában a kiadott frissítésben a sérülékenység állapota egy veszélyes, de nem kritikus sérülékenység szintjére csökkent. A projektben elfogadott szabályoknak megfelelően a veszély mértéke csökken, ha a probléma atipikus konfigurációkban jelentkezik, vagy ha kicsi a valószínűsége a sérülékenység gyakorlati kihasználásának.

Ebben az esetben a súlyossági szintet csökkentették, mert a sérülékenység több szervezet által végzett részletes elemzése arra a következtetésre jutott, hogy a kizsákmányolás során a kódfuttatást blokkolták a sok platformon használt veremtúlcsordulás elleni védelmi mechanizmusok. Ezenkívül az egyes Linux-disztribúciókban használt rácselrendezés azt eredményezi, hogy a határokon kívül eső 4 bájt a verem következő pufferére kerül, amely még nincs használatban. Lehetséges azonban, hogy vannak olyan platformok, amelyek kihasználhatók kód végrehajtására.

Feltárt problémák:

  • CVE-2022-3602 – egy sérülékenység, amelyet kezdetben kritikusnak mutattak be, 4 bájtos puffertúlcsorduláshoz vezet az X.509-tanúsítványban egy speciálisan kialakított e-mail címmel rendelkező mező ellenőrzésekor. A TLS-ügyfélben a biztonsági rést a támadó által vezérelt szerverhez való csatlakozáskor lehet kihasználni. TLS-kiszolgálón a biztonsági rést akkor lehet kihasználni, ha a kliens tanúsítványokkal történő hitelesítését használják. Ebben az esetben a sérülékenység a tanúsítvánnyal társított bizalmi lánc ellenőrzése utáni szakaszban jelenik meg, pl. A támadás megköveteli, hogy a tanúsító hatóság ellenőrizze a támadó rosszindulatú tanúsítványát.
  • A CVE-2022-3786 egy másik vektor a CVE-2022-3602 biztonsági rés kihasználására, amelyet a probléma elemzése során azonosítottak. A különbségek abból fakadnak, hogy a veremben lévő puffer tetszőleges számú bájttal túlcsordulhat, amely a „.” (azaz a támadó nem tudja ellenőrizni a túlcsordulás tartalmát, és a probléma csak az alkalmazás összeomlásához használható fel).

A sérülékenységek csak az OpenSSL 3.0.x ágban jelennek meg (a hibát a 3.0.x ághoz hozzáadott Unicode konverziós kódban (punycode) vezették be). Az OpenSSL 1.1.1 kiadásait, valamint a LibreSSL és a BoringSSL OpenSSL fork könyvtárakat nem érinti a probléma. Ezzel egy időben megjelent az OpenSSL 1.1.1s frissítés is, amely csak nem biztonsági hibajavításokat tartalmaz.

Az OpenSSL 3.0 ágat olyan disztribúciókban használják, mint az Ubuntu 22.04, a CentOS Stream 9, az RHEL 9, az OpenMandriva 4.2, a Gentoo, a Fedora 36, ​​a Debian Testing/Unstable. Ezen rendszerek felhasználóinak azt javasoljuk, hogy a lehető leghamarabb telepítsék a frissítéseket (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). A SUSE Linux Enterprise 15 SP4 és az openSUSE Leap 15.4 rendszerben az OpenSSL 3.0 csomagok opcionálisan elérhetők, a rendszercsomagok pedig az 1.1.1 ágat használják. A Debian 1, az Arch Linux, a Void Linux, az Ubuntu 11, a Slackware, az ALT Linux, az RHEL 20.04, az OpenWrt, az Alpine Linux 8 és a FreeBSD továbbra is az OpenSSL 3.16.x ágakon marad.

Forrás: opennet.ru

Hozzászólás