yhirose cpp-httplib bis 0.26.x Request Header httplib.h read_headers schwache Authentisierung
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 8.9 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine kritische Schwachstelle in yhirose cpp-httplib bis 0.26.x entdeckt. Hiervon betroffen ist die Funktion read_headers in der Bibliothek httplib.h der Komponente Request Header Handler. Durch Beeinflussen mit unbekannten Daten kann eine schwache Authentisierung-Schwachstelle ausgenutzt werden.
Eine eindeutige Identifikation der Schwachstelle wird mit CVE-2025-66570 vorgenommen. Ein Angriff ist aus der Distanz möglich. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
Eine kritische Schwachstelle wurde in yhirose cpp-httplib bis 0.26.x gefunden. Betroffen davon ist die Funktion read_headers der Bibliothek httplib.h der Komponente Request Header Handler. Durch Beeinflussen mit einer unbekannten Eingabe kann eine schwache Authentisierung-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-290. Dies hat Einfluss auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.27.0, a vulnerability allows attacker-controlled HTTP headers to influence server-visible metadata, logging, and authorization decisions. An attacker can inject headers named REMOTE_ADDR, REMOTE_PORT, LOCAL_ADDR, LOCAL_PORT that are parsed into the request header multimap via read_headers() in httplib.h (headers.emplace), then the server later appends its own internal metadata using the same header names in Server::process_request without erasing duplicates. Because Request::get_header_value returns the first entry for a header key (id == 0) and the client-supplied headers are parsed before server-inserted headers, downstream code that uses these header names may inadvertently use attacker-controlled values. Affected files/locations: cpp-httplib/httplib.h (read_headers, Server::process_request, Request::get_header_value, get_header_value_u64) and cpp-httplib/docker/main.cc (get_client_ip, nginx_access_logger, nginx_error_logger). Attack surface: attacker-controlled HTTP headers in incoming requests flow into the Request.headers multimap and into logging code that reads forwarded headers, enabling IP spoofing, log poisoning, and authorization bypass via header shadowing. This vulnerability is fixed in 0.27.0.Bereitgestellt wird das Advisory unter github.com. Die Verwundbarkeit wird seit dem 04.12.2025 mit der eindeutigen Identifikation CVE-2025-66570 gehandelt. Sie ist leicht ausnutzbar. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht.
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 277659 (Linux Distros Unpatched Vulnerability : CVE-2025-66570) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Aktualisieren auf die Version 0.27.0 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches ac9ebb0ee333ce8bf13523f487bdfad9518a2aff lösen. Dieser kann von github.com bezogen werden. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von Tenable (277659) dokumentiert. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Produkt
Hersteller
Name
Version
Lizenz
Webseite
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 9.0VulDB Meta Temp Score: 8.9
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 9.8
NVD Vector: 🔒
CNA Base Score: 10.0
CNA Vector (GitHub_M): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Schwache AuthentisierungCWE: CWE-290 / CWE-287
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 277659
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-66570
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: cpp-httplib 0.27.0
Patch: ac9ebb0ee333ce8bf13523f487bdfad9518a2aff
Timeline
04.12.2025 CVE zugewiesen06.12.2025 Advisory veröffentlicht
06.12.2025 VulDB Eintrag erstellt
10.12.2025 VulDB Eintrag letzte Aktualisierung
Quellen
Produkt: github.comAdvisory: GHSA-xm2j-vfr9-mg9m
Status: Bestätigt
CVE: CVE-2025-66570 (🔒)
GCVE (CVE): GCVE-0-2025-66570
GCVE (VulDB): GCVE-100-334553
Eintrag
Erstellt: 06.12.2025 05:01Aktualisierung: 10.12.2025 16:14
Anpassungen: 06.12.2025 05:01 (69), 09.12.2025 03:03 (2), 10.12.2025 16:14 (11)
Komplett: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.