CVE-2023-25725
haproxy: request smuggling attack in HTTP/1 header parsing
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
Descriptions
HAProxy before 2.7.3 may allow a bypass of access control because HTTP/1 headers are inadvertently lost in some situations, aka "request smuggling." The HTTP header parsers in HAProxy may accept empty header field names, which could be used to truncate the list of HTTP headers and thus make some headers disappear after being parsed and processed for HTTP/1.0 and HTTP/1.1. For HTTP/2 and HTTP/3, the impact is limited because the headers disappear before being parsed and processed, as if they had not been sent by the client. The fixed versions are 2.7.3, 2.6.9, 2.5.12, 2.4.22, 2.2.29, and 2.0.31.
A flaw was found in HAProxy's headers processing that causes HAProxy to drop important headers fields such as Connection, Content-length, Transfer-Encoding, and Host after having partially processed them. A maliciously crafted HTTP request could be used in an HTTP request smuggling attack to bypass filtering and detection by HAProxy.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2023-02-13 CVE Reserved
- 2023-02-14 CVE Published
- 2023-08-23 First Exploit
- 2024-08-02 CVE Updated
- 2024-10-05 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
CWE
- CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
CAPEC
References (9)
URL | Date | SRC |
---|---|---|
https://github.com/sgwgsw/LAB-CVE-2023-25725 | 2023-08-23 |
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | < 2.0.31 Search vendor "Haproxy" for product "Haproxy" and version " < 2.0.31" | - |
Affected
| ||||||
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | >= 2.1.0 < 2.2.29 Search vendor "Haproxy" for product "Haproxy" and version " >= 2.1.0 < 2.2.29" | - |
Affected
| ||||||
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | >= 2.3.0 < 2.4.22 Search vendor "Haproxy" for product "Haproxy" and version " >= 2.3.0 < 2.4.22" | - |
Affected
| ||||||
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | >= 2.5.0 < 2.5.12 Search vendor "Haproxy" for product "Haproxy" and version " >= 2.5.0 < 2.5.12" | - |
Affected
| ||||||
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | >= 2.6.0 < 2.6.9 Search vendor "Haproxy" for product "Haproxy" and version " >= 2.6.0 < 2.6.9" | - |
Affected
| ||||||
Haproxy Search vendor "Haproxy" | Haproxy Search vendor "Haproxy" for product "Haproxy" | >= 2.7.0 < 2.7.3 Search vendor "Haproxy" for product "Haproxy" and version " >= 2.7.0 < 2.7.3" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 10.0 Search vendor "Debian" for product "Debian Linux" and version "10.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 11.0 Search vendor "Debian" for product "Debian Linux" and version "11.0" | - |
Affected
|