Podatność use-after-free w pliku statem/statem.c biblioteki OpenSSL 1.1.0a umożliwia zdalnemu atakującemu wywołanie odmowy usługi lub potencjalnie wykonanie dowolnego kodu. Krytyczny poziom CVSS 9.8 wynika z braku wymaganego uwierzytelnienia i możliwości pełnego przejęcia kontroli nad procesem.
▸ Pokaż oryginał (EN)
statem/statem.c in OpenSSL 1.1.0a does not consider memory-block movement after a realloc call, which allows remote attackers to cause a denial of service (use-after-free) or possibly execute arbitrary code via a crafted TLS session.
Błąd polega na tym, że kod odpowiedzialny za obsługę maszyny stanów TLS nie uwzględnia faktu, iż wywołanie funkcji realloc() może przenieść blok pamięci pod inny adres. Po przeprowadzeniu realokacji kod nadal odwołuje się do poprzedniego, już nieważnego wskaźnika (use-after-free). Atakujący może wywołać ten błąd poprzez spreparowaną sesję TLS, skłaniając bibliotekę do pracy na zwolnionym obszarze pamięci. W efekcie możliwe jest zarówno awaryjne zakończenie procesu (DoS), jak i — w sprzyjających warunkach — wykonanie dowolnego kodu (RCE).
Atakujący może doprowadzić do awarii aplikacji korzystającej z OpenSSL (odmowa usługi) lub, w scenariuszu bardziej zaawansowanym, wykonać dowolny kod w kontekście procesu ofiary, co może skutkować pełnym przejęciem systemu.
Należy niezwłocznie zaktualizować OpenSSL do wersji wyższej niż 1.1.0a. Użytkownicy produktów firm trzecich (Juniper, IBM, Oracle) powinni zastosować patche dostępne u tych producentów zgodnie z referencjami opublikowanymi w ich biuletynach bezpieczeństwa.
OpenSSL w wersji 1.1.0a
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenSSL
APPOpenssl1.1.0a
Powiązane podatności
OpenSSL CMS AuthEnvelopedData — niewystarczająca walidacja wejścia umożliwia atak oracle i bypass integralnośc...
OpenSSL: heap buffer overflow przy konwersji OCTET STRING na hex (32-bit)
OpenSSL 3.0.4 – RCE przez błąd implementacji RSA na procesorach AVX512IFMA
Buffer overflow w dekodowaniu SM2 w OpenSSL — przepełnienie bufora na stercie
openfortivpn: błędna walidacja certyfikatów TLS z nullowym bajtem w CN