CVE-2024-28854 json
Slow loris vulnerability with default configuration in tls-listener
published 2024-03-15 2 y ago modified 2026-10-12 27 d ago also GHSA-2qph-qpvm-2qf7 , RUSTSEC-2024-0341 , EUVD-2024-0790
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.0%
- EPSS 1.0% chance of exploitation in 30 days, percentile 62%
- public exploits
- 0
- none known
Summary
tls-listener is a rust lang wrapper around a connection listener to support TLS. With the default configuration of tls-listener, a malicious user can open 6.4 `TcpStream`s a second, sending 0 bytes, and can trigger a DoS. The default configuration options make any public service using `TlsListener::new()` vulnerable to a slow-loris DoS attack. This impacts any publicly accessible service using the default configuration of tls-listener in versions prior to 0.10.0. Users are advised to upgrade. Users unable to upgrade may mitigate this by passing a large value, such as `usize::MAX` as the parameter to `Builder::max_handshakes`.
Patch / fix
- crates.io tls-listener 0.10.0
- tmccombs tls-listener 0.10.0
- cargo-audit-advisory-db openSUSE Tumbleweed 20240528-1.1
opensuse advisories openSUSE-SU-2024:14009-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.97% chance of exploitation in the next 30 days, higher than 62% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/tmccombs/tls-listener/security/advisories/GHSA-2qph-qpvm-2qf7 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | tls-listener | <0.10.0 >=0.0.0-0, <0.10.0 |
0.10.0 |
Affected products
- tmccombs tls-listener
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
github.com
/tmccombs/tls-listener/commit/d5a7655d6ea9e53ab57c3013092c5576da964bc4
web, patch
-
github.com
/tmccombs/tls-listener/security/advisories/GHSA-2qph-qpvm-2qf7
web, exploit, mitigation, third-party-advisory
-
en.wikipedia.org
/wiki/Slowloris_(computer_security)
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2024-28854
advisory
-
github.com
/tmccombs/tls-listener
package
-
github.com
/tmccombs/tls-listener/releases/tag/v0.10.0
web
-
rustsec.org
/advisories/RUSTSEC-2024-0341.html
web, advisory
-
crates.io
/crates/tls-listener
package
Sources
- CVE List CVE-2024-28854
- GitHub Advisory GHSA-2qph-qpvm-2qf7
- NVD CVE-2024-28854
- OSV RUSTSEC-2024-0341
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.