CVE-2024-47609 Remotely exploitable DoS in Tonic `<=v0.12.2`
A remote attacker can cause a Tonic gRPC server to exit cleanly by triggering an unhandled error during TCP/TLS stream acceptance.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-47609?
CVE-2024-47609 is a medium-severity denial of service vulnerability in hyperium tonic, published on 1 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Tonic is a native gRPC client & server implementation with async/await support. When using tonic::transport::Server there is a remote DoS attack that can cause the server to exit cleanly on accepting a TCP/TLS stream. This can be triggered by causing the accept call to error out with errors that were not covered correctly causing the accept loop to exit. Upgrading to tonic 0.12.3 and above contains the fix.
Weakness: CWE-755
Which versions are affected by CVE-2024-47609?
3 open source packages ship an affected version, including tonic.
| Package | Affected | Fixed in |
|---|---|---|
tonic crates.io | From 0.12.2 | 0.12.3 |
tonic crates.io | From 0.12.2 | 0.12.3 |
tonic crates.io | From 0.12.2 | 0.12.3 |
Linux distribution packages (1)
cargo-audit-advisory-db openSUSE:Tumbleweed | All versions | 20241030-1.1 |
How do I fix CVE-2024-47609?
Upgrade tonic to 0.12.3 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-47609 being exploited?
There is no known exploitation of CVE-2024-47609 in the wild and no public exploit code.
Sources
Also known as GHSA-4jwc-w2hc-78qv, RUSTSEC-2024-0376, UBUNTU-CVE-2024-47609, openSUSE-SU-2024:14440-1.