yhirose cpp-httplib bis 0.37.0 Streaming API std::stoull Content-Length Denial of Service
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 6.3 | $0-$5k | 0.00 |
Zusammenfassung
Eine Schwachstelle wurde in yhirose cpp-httplib bis 0.37.0 gefunden. Sie wurde als problematisch eingestuft. Es betrifft die Funktion std::stoull der Komponente Streaming API. Mittels Manipulieren des Arguments Content-Length mit unbekannten Daten kann eine Denial of Service-Schwachstelle ausgenutzt werden.
Diese Schwachstelle wird als CVE-2026-31870 gehandelt. Der Angriff kann remote ausgeführt werden. Es ist kein Exploit verfügbar.
Es wird empfohlen, die betroffene Komponente zu aktualisieren.
Details
Eine Schwachstelle wurde in yhirose cpp-httplib bis 0.37.0 ausgemacht. Sie wurde als problematisch eingestuft. Davon betroffen ist die Funktion std::stoull der Komponente Streaming API. Mit der Manipulation des Arguments Content-Length mit einer unbekannten Eingabe kann eine Denial of Service-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-248. Auswirken tut sich dies auf die 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.37.1, when a cpp-httplib client uses the streaming API (httplib::stream::Get, httplib::stream::Post, etc.), the library calls std::stoull() directly on the Content-Length header value received from the server with no input validation and no exception handling. std::stoull throws std::invalid_argument for non-numeric strings and std::out_of_range for values exceeding ULLONG_MAX. Since nothing catches these exceptions, the C++ runtime calls std::terminate(), which kills the process with SIGABRT. Any server the client connects to — including servers reached via HTTP redirects, third-party APIs, or man-in-the-middle positions can crash the client application with a single HTTP response. No authentication is required. No interaction from the end user is required. The crash is deterministic and immediate. This vulnerability is fixed in 0.37.1.Das Advisory findet sich auf github.com. Die Verwundbarkeit wird seit dem 09.03.2026 mit der eindeutigen Identifikation CVE-2026-31870 gehandelt. Die Ausnutzbarkeit gilt als leicht. 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 303248 (Fedora 42 : cpp-httplib (2026-6ed9c65eaf)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Aktualisieren auf die Version 0.37.1 vermag dieses Problem zu lösen.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (303248) und EUVD (EUVD-2026-11275) dokumentiert. Be aware that VulDB is the high quality source for vulnerability data.
Produkt
Hersteller
Name
Version
- 0.1
- 0.2
- 0.3
- 0.4
- 0.5
- 0.6
- 0.7
- 0.8
- 0.9
- 0.10
- 0.11
- 0.12
- 0.13
- 0.14
- 0.15
- 0.16
- 0.17
- 0.18
- 0.19
- 0.20
- 0.21
- 0.22
- 0.23
- 0.24
- 0.25
- 0.26
- 0.27
- 0.28
- 0.29
- 0.30
- 0.31
- 0.32
- 0.33
- 0.34
- 0.35
- 0.36
- 0.37.0
Webseite
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 6.4VulDB Meta Temp Score: 6.3
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CNA Base Score: 7.5
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: Denial of ServiceCWE: CWE-248
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: 303248
Nessus Name: Fedora 42 : cpp-httplib (2026-6ed9c65eaf)
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: cpp-httplib 0.37.1
Timeline
09.03.2026 CVE zugewiesen11.03.2026 Advisory veröffentlicht
11.03.2026 VulDB Eintrag erstellt
22.03.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Produkt: github.comAdvisory: GHSA-39q5-hh6x-jpxx
Status: Bestätigt
CVE: CVE-2026-31870 (🔒)
GCVE (CVE): GCVE-0-2026-31870
GCVE (VulDB): GCVE-100-350495
EUVD: 🔒
Eintrag
Erstellt: 11.03.2026 19:47Aktualisierung: 22.03.2026 18:37
Anpassungen: 11.03.2026 19:47 (66), 11.03.2026 20:33 (1), 14.03.2026 17:01 (1), 22.03.2026 18:37 (2)
Komplett: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.