cpp-httplib: Stack Overflow Denial of Service (DoS) via std::regex in multipart filename parsing
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| yhirose | cpp-httplib | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Yhirose | Cpp-httplib |
|
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: 1.1% (1.063% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:yhirose:cpp-httplib:*:*:*:*:*:*:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Yhirose
Yhirose cpp-httplib |
|
| Vendors & Products |
Yhirose
Yhirose cpp-httplib |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to version 0.37.0, cpp-httplib uses std::regex (libstdc++) to parse RFC 5987 encoded filename* values in multipart Content-Disposition headers. The regex engine in libstdc++ implements backtracking via deep recursion, consuming one stack frame per input character. An attacker can send a single HTTP POST request with a crafted filename* parameter that causes uncontrolled stack growth, resulting in a stack overflow (SIGSEGV) that crashes the server process. This issue has been patched in version 0.37.0. | |
| Title | cpp-httplib: Stack Overflow Denial of Service (DoS) via std::regex in multipart filename parsing | |
| Weaknesses | CWE-1333 CWE-674 |
|
| References |
| |
| Metrics |
cvssV3_1
|