Opublikowano wersję naprawczą biblioteki kryptograficznej OpenSSL 3.0.7, która łata dwie luki. Obydwa problemy są spowodowane przepełnieniem bufora w kodzie sprawdzającym poprawność pola e-mail w certyfikatach X.509 i mogą potencjalnie prowadzić do wykonania kodu podczas przetwarzania certyfikatu o specjalnej ramce. W momencie publikacji poprawki twórcy OpenSSL nie odnotowali żadnych dowodów na obecność działającego exploita, który mógłby doprowadzić do wykonania kodu atakującego.
Pomimo faktu, że w przedpremierowej zapowiedzi nowej wersji wspomniano o istnieniu krytycznego problemu, w rzeczywistości w wydanej aktualizacji status luki został zredukowany do poziomu niebezpiecznej, ale nie krytycznej luki. Zgodnie z przyjętymi w projekcie zasadami poziom zagrożenia ulega obniżeniu, jeżeli problem objawia się w nietypowych konfiguracjach lub gdy prawdopodobieństwo wykorzystania luki w praktyce jest niskie.
W tym przypadku poziom istotności został obniżony, ponieważ szczegółowa analiza luki przeprowadzona przez kilka organizacji wykazała, że możliwość wykonania kodu podczas eksploatacji została zablokowana przez mechanizmy ochrony przed przepełnieniem stosu stosowane na wielu platformach. Ponadto układ siatki używany w niektórych dystrybucjach Linuksa powoduje, że 4 bajty wykraczające poza zakres są nakładane na następny bufor na stosie, który nie jest jeszcze używany. Możliwe jest jednak, że istnieją platformy, które można wykorzystać do wykonania kodu.
Zidentyfikowane problemy:
- CVE-2022-3602 - luka, początkowo przedstawiana jako krytyczna, powoduje przepełnienie 4-bajtowego bufora podczas sprawdzania pola ze specjalnie zaprojektowanym adresem e-mail w certyfikacie X.509. W kliencie TLS lukę można wykorzystać podczas łączenia się z serwerem kontrolowanym przez osobę atakującą. Na serwerze TLS lukę można wykorzystać, jeśli stosowane jest uwierzytelnianie klienta przy użyciu certyfikatów. W tym przypadku podatność pojawia się już na etapie po weryfikacji łańcucha zaufania powiązanego z certyfikatem, tj. Atak wymaga, aby urząd certyfikacji zweryfikował złośliwy certyfikat atakującego.
- CVE-2022-3786 to kolejny wektor wykorzystania luki CVE-2022-3602, zidentyfikowany podczas analizy problemu. Różnice sprowadzają się do możliwości przepełnienia bufora na stosie o dowolną liczbę bajtów zawierających znak „.” (tzn. osoba atakująca nie może kontrolować zawartości przepełnienia, a problem może zostać wykorzystany jedynie do spowodowania awarii aplikacji).
Luki występują jedynie w gałęzi OpenSSL 3.0.x (błąd został wprowadzony w kodzie konwersji Unicode (punycode) dodanym do gałęzi 3.0.x). Problem nie dotyczy wersji OpenSSL 1.1.1, a także bibliotek rozwidlających OpenSSL LibreSSL i BoringSSL. W tym samym czasie wydano aktualizację OpenSSL 1.1.1s, która zawiera jedynie poprawki błędów niezwiązanych z bezpieczeństwem.
Gałąź OpenSSL 3.0 jest używana w dystrybucjach takich jak Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, Debian Testing/Unstable. Użytkownikom tych systemów zaleca się jak najszybsze zainstalowanie 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. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 i FreeBSD pozostają w gałęziach OpenSSL 3.16.x.
Źródło: opennet.ru