Podatność w pliku x509/x509_verify.c biblioteki LibreSSL (przed wersją 3.4.2) oraz OpenBSD (przed erratą 006 dla wersji 7.0) umożliwia ominięcie uwierzytelniania opartego na certyfikatach X.509. Jest groźna, ponieważ błąd dotyczący niezweryfikowanego łańcucha certyfikatów jest w pewnych okolicznościach po cichu odrzucany, co pozwala atakującemu podać się za zaufaną stronę.
▸ Pokaż oryginał (EN)
x509/x509_verify.c in LibreSSL before 3.4.2, and OpenBSD before 7.0 errata 006, allows authentication bypass because an error for an unverified certificate chain is sometimes discarded.
Mechanizm weryfikacji certyfikatów X.509 w funkcji x509_verify.c zawiera błąd, w wyniku którego informacja o niepowodzeniu weryfikacji łańcucha certyfikatów jest niekiedy ignorowana i odrzucana zamiast być przekazana jako błąd do wywołującego kodu. W efekcie aplikacja korzystająca z LibreSSL lub OpenBSD może potraktować niezweryfikowany (np. podpisany przez niezaufany urząd certyfikacji lub self-signed) certyfikat jako prawidłowy. Atakujący zdalnie, bez uwierzytelnienia i bez interakcji użytkownika, może tym samym skutecznie przeprowadzić atak polegający na podszyciu się pod zaufany serwer lub klienta.
Atakujący może ominąć mechanizm uwierzytelniania opartego na certyfikatach X.509, co prowadzi do pełnej kompromitacji poufności, integralności i dostępności chronionych zasobów — np. poprzez atak man-in-the-middle lub podszywanie się pod uprzywilejowane usługi.
Należy zaktualizować LibreSSL do wersji 3.4.2 lub nowszej (zgodnie z libressl-3.4.2-relnotes.txt) oraz zastosować erratę 006 dla OpenBSD 7.0 dostępną pod adresem ftp.openbsd.org/pub/OpenBSD/patches/7.0/common/006_x509.patch.sig
LibreSSL przed wersją 3.4.2 oraz OpenBSD przed erratą 006 dla wersji 7.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpenbsd Libressl
APPOpenbsd< 3.4.2Openbsd
OSOpenbsd< 7.0
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
Double free / use-after-free w LibreSSL i OpenBSD po wywołaniu SSL_clear
OpenIKED: pominięcie uwierzytelnienia przez błędną weryfikację klucza publicznego
LibreSSL: przepełnienie bufora stosu w OBJ_obj2txt via certyfikat X.509