W bibliotece LibreSSL oraz systemie OpenBSD wykryto krytyczną podatność klasy double free i use-after-free wyzwalaną po wywołaniu funkcji SSL_clear. Błąd umożliwia zdalnemu, nieuwierzytelnionemu atakującemu potencjalne przejęcie kontroli nad procesem lub systemem bez jakiejkolwiek interakcji użytkownika.
▸ Pokaż oryginał (EN)
A double free or use after free could occur after SSL_clear in OpenBSD 7.2 before errata 026 and 7.3 before errata 004, and in LibreSSL before 3.6.3 and 3.7.x before 3.7.3. NOTE: OpenSSL is not affected.
Podatność wynika z nieprawidłowego zarządzania pamięcią w implementacji SSL — po wywołaniu funkcji SSL_clear ten sam obszar pamięci może zostać zwolniony dwukrotnie (double free) lub ponownie użyty po zwolnieniu (use-after-free). Tego rodzaju błędy (CWE-415, CWE-416) pozwalają atakującemu na manipulację strukturami sterty (heap), co w konsekwencji może prowadzić do wykonania dowolnego kodu. Podatność jest osiągalna zdalnie przez sieć bez konieczności uwierzytelnienia i bez interakcji ze strony użytkownika. Opis producenta precyzuje, że OpenSSL nie jest podatny na ten błąd.
Atakujący może doprowadzić do wykonania dowolnego kodu zdalnie (RCE), nieuprawnionego ujawnienia danych lub odmowy usługi (crash procesu), uzyskując pełny wpływ na poufność, integralność i dostępność systemu.
Należy zaktualizować LibreSSL do wersji 3.6.3 lub 3.7.3 (lub nowszej). Użytkownicy OpenBSD 7.2 powinni zastosować erratę 026, a użytkownicy OpenBSD 7.3 — erratę 004. Patche dostępne są pod adresami wskazanymi w referencjach producenta (ftp.openbsd.org).
OpenBSD 7.2 przed erratą 026, OpenBSD 7.3 przed erratą 004, LibreSSL przed wersją 3.6.3 oraz LibreSSL 3.7.x przed wersją 3.7.3.
Producent w opisie CVE explicite zaznaczył, że OpenSSL nie jest podatny na ten błąd — dotyczy wyłącznie LibreSSL i OpenBSD.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenbsd Libressl
APPOpenbsd< 3.6.33.7.0 – 3.7.3 (bez)Openbsd
OSOpenbsd7.27.3
Powiązane podatności
Double free i niezainicjowana zmienna w implementacji NFS systemu OpenBSD
RCE w implementacji NFS w OpenBSD i FreeBSD — zdalne wykonanie kodu
Authentication bypass przez odrzucanie błędów weryfikacji certyfikatów w LibreSSL/OpenBSD
OpenIKED: pominięcie uwierzytelnienia przez błędną weryfikację klucza publicznego
LibreSSL: przepełnienie bufora stosu w OBJ_obj2txt via certyfikat X.509