Luka w OpenSSL i LibreSSL powodująca zapętlenie podczas przetwarzania nieprawidłowych certyfikatów

Dostępne są wersje konserwacyjne biblioteki kryptograficznej OpenSSL 3.0.2 i 1.1.1n. Aktualizacja naprawia lukę (CVE-2022-0778), która może zostać wykorzystana do spowodowania odmowy usługi (nieskończonego zapętlenia procedury obsługi). Aby wykorzystać podatność wystarczy przetworzyć specjalnie zaprojektowany certyfikat. Problem występuje zarówno w aplikacjach serwerowych, jak i klienckich, które mogą przetwarzać certyfikaty dostarczone przez użytkownika.

Problem jest spowodowany błędem w funkcji BN_mod_sqrt(), który prowadzi do pętli podczas obliczania pierwiastka kwadratowego modulo z czegoś innego niż liczba pierwsza. Funkcja wykorzystywana jest podczas analizowania certyfikatów z kluczami opartymi na krzywych eliptycznych. Operacja sprowadza się do podstawienia do certyfikatu nieprawidłowych parametrów krzywej eliptycznej. Ponieważ problem pojawia się przed zweryfikowaniem podpisu cyfrowego certyfikatu, atak może zostać przeprowadzony przez nieuwierzytelnionego użytkownika, co może spowodować przesłanie certyfikatu klienta lub serwera do aplikacji korzystających z OpenSSL.

Luka dotyczy także biblioteki LibreSSL opracowanej w ramach projektu OpenBSD, której poprawkę zaproponowano w wersjach korygujących LibreSSL 3.3.6, 3.4.3 i 3.5.1. Dodatkowo opublikowano analizę warunków wykorzystania luki (przykład szkodliwego certyfikatu powodującego zawieszanie się nie został jeszcze publicznie opublikowany).

Źródło: opennet.ru

Dodaj komentarz