CVE-2024-47609 Remotely exploitable DoS in Tonic `<=v0.12.2`

Medium 6.9 Published Updated

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.

PackageAffectedFixed in
tonic crates.ioFrom 0.12.20.12.3
tonic crates.ioFrom 0.12.20.12.3
tonic crates.ioFrom 0.12.20.12.3
Linux distribution packages (1)
cargo-audit-advisory-db openSUSE:TumbleweedAll versions20241030-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.

Is CVE-2024-47609 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free