HIGH🇬🇧 English

CVE-2026-54919

Pominięcie weryfikacji certyfikatu TLS w cpp-httplib (Mbed TLS / wolfSSL)

CVSS 7.4v3.1pub. 2026-07-10upd. 2026-07-14

Biblioteka cpp-httplib w wersjach wykorzystujących backend Mbed TLS lub wolfSSL pomija walidację łańcucha certyfikatów podczas połączeń z hostami podanymi jako adresy IP. Umożliwia to atakującemu pozycjonowanemu jako man-in-the-middle przechwycenie i modyfikację szyfrowanego ruchu HTTPS.

Pokaż oryginał (EN)

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. In affected Mbed TLS backend versions from 0.31.0 through 0.46.1 and wolfSSL backend versions from 0.33.0 through 0.46.1, when cpp-httplib is built with CPPHTTPLIB_MBEDTLS_SUPPORT or CPPHTTPLIB_WOLFSSL_SUPPORT and a client connects to an IP-literal host with server certificate verification enabled, SSLClient and Client in HTTPS mode skip certificate chain validation and WebSocketClient on the Mbed TLS backend skips verification altogether, allowing a man-in-the-middle attacker positioned to intercept traffic to present a crafted certificate and read or modify the traffic. This issue is fixed in version 0.47.0.

🤖 Analiza AI
Jak działa

Gdy cpp-httplib jest zbudowane z obsługą Mbed TLS (CPPHTTPLIB_MBEDTLS_SUPPORT) lub wolfSSL (CPPHTTPLIB_WOLFSSL_SUPPORT) i klient nawiązuje połączenie z hostem podanym w formie literału adresu IP (np. https://192.168.1.1), klasy SSLClient oraz Client w trybie HTTPS pomijają weryfikację łańcucha certyfikatów serwera. Dodatkowo klasa WebSocketClient na backendzie Mbed TLS całkowicie rezygnuje z weryfikacji. Atakujący umieszczony na ścieżce sieciowej może wówczas podstawić spreparowany certyfikat, który zostanie przyjęty bez błędu, i uzyskać dostęp do przesyłanych danych lub je zmodyfikować.

Skutki

Atakujący przeprowadzający atak man-in-the-middle może odczytać oraz zmodyfikować ruch HTTPS, który aplikacja uważa za szyfrowany i uwierzytelniony, co prowadzi do naruszenia poufności i integralności danych.

Mitygacja

Należy zaktualizować cpp-httplib do wersji 0.47.0, w której opisany problem został naprawiony. Patch dostępny jest w repozytorium GitHub producenta (tag v0.47.0).

Kogo dotyczy

Yhirose cpp-httplib z backendem Mbed TLS w wersjach od 0.31.0 do 0.46.1 oraz z backendem wolfSSL w wersjach od 0.33.0 do 0.46.1, skompilowane z flagą CPPHTTPLIB_MBEDTLS_SUPPORT lub CPPHTTPLIB_WOLFSSL_SUPPORT

Uwagi

Podatność dotyczy wyłącznie scenariuszy, w których klient łączy się z hostem podanym jako literał adresu IP (np. https://1.2.3.4) przy włączonej weryfikacji certyfikatu serwera. Połączenia do hostów podanych jako nazwy domenowe nie są objęte tym błędem.

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Yhirose Cpp Httplib

    APP
    Yhirose
    0.31.0 – 0.47.0 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-45372CRITICAL9.9PL ✓ten sam produkt

cpp-httplib: HTTP response splitting poprzez header injection (CRLF injection)

CVE-2025-66570CRITICAL10.0PL ✓ten sam produkt

cpp-httplib: spoofing nagłówków HTTP umożliwia bypass autoryzacji i zatrucie logów

CVE-2026-46527HIGH8.7ten sam produkt

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.44.0, When the se...

CVE-2026-33745HIGH7.4ten sam produkt

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.39.0, the cpp-htt...

CVE-2026-32627HIGH8.7ten sam produkt

cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.37.2, when a cpp-...