Przepełnienie bufora w OpenSSL, wykorzystywane podczas weryfikacji certyfikatów X.509

Opublikowano poprawkową wersję biblioteki kryptograficznej OpenSSL 3.0.7, w której usunięto dwie podatności. Obie problemy są spowodowane przepełnieniem bufora w kodzie sprawdzania pola z adresem e-mail w certyfikatach X.509 i mogą potencjalnie prowadzić do wykonania kodu podczas przetwarzania specjalnie przygotowanego certyfikatu. W momencie publikacji poprawki nie było informacji od deweloperów OpenSSL o działającym exploicie mogącym prowadzić do wykonania kodu atakującego.

Chociaż w wcześniej opublikowanym zapowiedzi nowego wydania wspomniano o krytycznym problemie, w rzeczywistości w wydanej aktualizacji status podatności został obniżony do poziomu niebezpiecznej, ale nie krytycznej podatności. Zgodnie z zasadami przyjętymi w projekcie, obniżenie poziomu niebezpieczeństwa następuje w przypadku wystąpienia problemu w nietypowych konfiguracjach lub w przypadku niskiego prawdopodobieństwa wykorzystania podatności w praktyce.

W rozpatrywanym przypadku poziom niebezpieczeństwa został obniżony, ponieważ w wyniku szczegółowej analizy podatności przez kilka organizacji stwierdzono, że możliwość wykonania kodu podczas eksploatacji jest blokowana przez stosowane w wielu platformach mechanizmy ochrony przed przepełnieniem stosu. Ponadto, stosowany w niektórych dystrybucjach Linux układ sieciowy prowadzi do tego, że wyjścia poza 4 bajty nakładają się na następujący w stosie bufor, który jeszcze nie jest używany. Niemniej jednak, istnieje możliwość, że istnieją platformy, na których możliwa jest eksploatacja do wykonania kodu.

Zidentyfikowane problemy:

  • CVE-2022-3602 — podatność, pierwotnie przedstawiana jako krytyczna, prowadzi do 4-bajtowego przepełnienia bufora podczas sprawdzania w certyfikacie X.509 pola ze specjalnie przygotowanym adresem e-mail. W kliencie TLS podatność może być eksploatowana podczas łączenia z serwera, kontrolowanym przez atakującego. Na serwerze TLS podatność może być eksploatowana w przypadku zastosowania uwierzytelniania klientów za pomocą certyfikatów. Przy tym podatność ujawnia się na etapie po weryfikacji powiązanej z certyfikatem łańcucha zaufania, co oznacza, że do ataku wymagane jest, aby centrum certyfikacji zatwierdziło złośliwy certyfikat napastnika.
  • CVE-2022-3786 — inny wektor wykorzystania podatności CVE-2022-3602, zidentyfikowany podczas analizy problemu. Różnice dotyczą możliwości przepełnienia bufora w stosie o dowolnej liczbie bajtów zawierających znak „.” (tj. atakujący nie może kontrolować zawartości przepełnienia, a problem może być wykorzystany tylko do wywołania awaryjnego zakończenia aplikacji).

Podatności występują tylko w gałęzi OpenSSL 3.0.x (błąd pojawił się w kodzie konwersji Unicode (punycode), dodanym do gałęzi 3.0.x). Wydania OpenSSL 1.1.1, a także odbiegłe od OpenSSL biblioteki LibreSSL i BoringSSL, nie są narażone na ten problem. Jednocześnie wydano aktualizację OpenSSL 1.1.1s, która zawiera tylko poprawki błędów niezwiązane z bezpieczeństwem.

Gałąź OpenSSL 3.0 jest używana w takich dystrybucjach jak Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable. Użytkownicy tych systemów są zachęcani do jak najszybszego zainstalowania aktualizacji (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). W SUSE Linux Enterprise 15 SP4 i openSUSE Leap 15.4 pakiety z OpenSSL 3.0 są dostępne opcjonalnie, pakiety systemowe korzystają z gałęzi 1.1.1. W gałęziach OpenSSL 1.x pozostają Debian 11, Arch Linux, Void Linux, Ubuntu 20.04, Slackware, ALT Linux, RHEL 8, OpenWrt, Alpine Linux 3.16 i FreeBSD.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster