Biblioteka Apache Thrift w wariancie dla języka C++ nie weryfikuje poprawnie, czy certyfikat TLS pochodzi od hosta, z którym nawiązywane jest połączenie. Umożliwia to atakującemu przeprowadzenie ataku typu man-in-the-middle i przechwycenie poufnych danych przesyłanych w komunikacji.
▸ Pokaż oryginał (EN)
Improper Validation of Certificate with Host Mismatch vulnerability in Apache Thrift C++ bindings. This issue affects Apache Thrift: before 0.24.0. Users are recommended to upgrade to version 0.24.0, which fixes the issue.
Podatność polega na nieprawidłowej walidacji certyfikatu serwera względem nazwy hosta (CWE-297): bindingi C++ biblioteki Apache Thrift akceptują certyfikat TLS bez sprawdzenia, czy pole CN lub SAN odpowiada rzeczywistej nazwie hosta docelowego. Atakujący posiadający pozycję man-in-the-middle w sieci może podstawić własny certyfikat wystawiony na inny host i zostanie on zaakceptowany przez klienta. Wymagana jest podwyższona złożoność ataku (AC:H), co oznacza konieczność zajęcia uprzywilejowanej pozycji sieciowej między klientem a serwerem.
Atakujący może przechwycić poufne dane (VC:H) przesyłane przez połączenie TLS, które klient błędnie uznaje za bezpieczne i uwierzytelnione. Atak nie wymaga interakcji użytkownika ani wcześniejszego uwierzytelnienia.
Należy zaktualizować Apache Thrift do wersji 0.24.0 lub nowszej, która zawiera poprawkę opisanego problemu. Przed wdrożeniem patcha zaleca się ograniczenie ekspozycji sieciowej aplikacji korzystających z bindingów C++ Apache Thrift oraz monitorowanie ruchu pod kątem anomalii w warstwie TLS.
Apache Thrift (bindingi C++) we wszystkich wersjach przed 0.24.0
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XApache Thrift
APPApache< 0.24.0
Powiązane podatności
Apache Thrift c_glib: brak weryfikacji zgodności certyfikatu z hostem
Heap-based Buffer Overflow w Apache Thrift (bindings C++)
Nieskończona pętla w Apache Thrift (Python, Go, PHP, Java) — DoS
Apache Thrift Python: podatność Data Amplification powodująca DoS
Apache Thrift — podatność na amplifikację danych (Data Amplification)