{"id":"CVE-2024-47609","aliases":["EUVD-2024-2937","GHSA-4jwc-w2hc-78qv","RUSTSEC-2024-0376","UBUNTU-CVE-2024-47609","openSUSE-SU-2024:14440-1"],"status":"published","title":"Remotely exploitable DoS in Tonic `\u003c=v0.12.2`","description":"Tonic is a native gRPC client \u0026 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.","severity":{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00622,"percentile":0.50288,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-755"],"published":"2024-10-01T12:00:00Z","modified":"2026-10-28T02:31:06Z","fixes":[{"ecosystem":"crates.io","package":"tonic","fixed_in":["0.12.3"],"sources":["ghsa","osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"cargo-audit-advisory-db","fixed_in":["20241030-1.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"tonic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.12.2"},{"last_affected":"0.12.2"},{"fixed":"0.12.3"}]}],"versions":["0.12.2"]},{"source":"osv","ecosystem":"crates.io","package":"tonic","ranges":[{"type":"SEMVER","events":[{"introduced":"0.12.2"},{"fixed":"0.12.3"}]}],"versions":["0.12.2"]},{"source":"osv","ecosystem":"crates.io","package":"tonic","ranges":[{"type":"SEMVER","events":[{"introduced":"0.12.2"},{"fixed":"0.12.3"}]}]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"rust-tonic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.10.2+dfsg-12","0.12.3+dfsg-4"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"rust-tonic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.12.3+dfsg-6","0.14.5+dfsg-1","0.14.5+dfsg-2","0.14.5+dfsg-4"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"rust-tonic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.12.3+dfsg-4","0.12.3+dfsg-5","0.12.3+dfsg-5build1","0.12.3+dfsg-6"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"cargo-audit-advisory-db","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"20241030-1.1"}]}]}],"products":[{"vendor":"hyperium","product":"tonic"}],"references":[{"url":"https://github.com/hyperium/tonic/security/advisories/GHSA-4jwc-w2hc-78qv","tags":["x_refsource_CONFIRM","advisory","web","report"]},{"url":"https://github.com/hyperium/tonic/issues/1897","tags":["x_refsource_MISC","report","web"]},{"url":"https://github.com/hyperium/tonic/commit/a4472a86f3290e60c7c01348b7e6a8164d6e7e48","tags":["x_refsource_MISC","fix","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-47609","tags":["advisory"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2024-0376.html","tags":["web","advisory","report"]},{"url":"https://github.com/advisories/GHSA-4jwc-w2hc-78qv"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/47xxx/CVE-2024-47609.json","tags":["advisory"]},{"url":"https://github.com/hyperium/tonic","tags":["package"]},{"url":"https://crates.io/crates/tonic","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2024-47609","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-47609","tags":["report"]},{"url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/EFF7ZCD4SVHN2LLVZT4B6GOMX4FZDCHZ/","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2024-47609","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2024-47609","title":"Remotely exploitable DoS in Tonic `\u003c=v0.12.2`","description":"Tonic is a native gRPC client \u0026 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.","status":"published","published":"2024-10-01T20:13:55.017Z","modified":"2024-11-21T16:56:13.633Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium","assessor":"cna"}],"cwes":["CWE-755"],"updated_at":"2026-11-02T14:33:57.302325Z"}],"euvd":[{"id":"EUVD-2024-2937","description":"Tonic is a native gRPC client \u0026 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.","status":"published","published":"2024-10-01T20:13:55Z","modified":"2024-11-21T16:56:13Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium"}],"updated_at":"2026-11-03T00:04:52.521149Z"}],"ghsa":[{"id":"GHSA-4jwc-w2hc-78qv","title":"Tonic has remotely exploitable denial of service vulnerability","description":"### Impact\n\nWhen 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 via causing the accept call to error out with errors there were not covered correctly causing the accept loop to exit. \n\nMore information can be found [here](https://github.com/hyperium/tonic/issues/1897)\n\n### Patches\n\nUpgrading to tonic `0.12.3` and above contains the fix. \n\n### Workarounds\n\nA custom accept loop is a possible workaround.","status":"published","published":"2024-10-01T22:27:58Z","modified":"2025-09-16T14:43:31Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-755"],"updated_at":"2026-11-02T14:38:58.107905Z"}],"nvd":[{"id":"CVE-2024-47609","description":"Tonic is a native gRPC client \u0026 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.","status":"published","published":"2024-10-01T21:15:08.4Z","modified":"2026-06-17T07:57:23.607Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Green","level":"medium","assessor":"secondary"}],"cwes":["CWE-755"],"updated_at":"2026-11-02T14:10:30.673028Z"}],"osv":[{"id":"CVE-2024-47609","title":"Remotely exploitable DoS in Tonic `\u003c=v0.12.2`","description":"Tonic is a native gRPC client \u0026 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.","status":"published","published":"2024-10-01T20:13:55.017Z","modified":"2026-10-28T02:31:06.858438197Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium"}],"cwes":["CWE-755"],"updated_at":"2026-11-02T15:44:43.253252Z"},{"id":"GHSA-4jwc-w2hc-78qv","title":"Tonic has remotely exploitable denial of service vulnerability","description":"### Impact\n\nWhen 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 via causing the accept call to error out with errors there were not covered correctly causing the accept loop to exit. \n\nMore information can be found [here](https://github.com/hyperium/tonic/issues/1897)\n\n### Patches\n\nUpgrading to tonic `0.12.3` and above contains the fix. \n\n### Workarounds\n\nA custom accept loop is a possible workaround.","status":"published","published":"2024-10-01T22:27:58Z","modified":"2026-09-10T03:50:19.2876337Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"},{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium"}],"cwes":["CWE-755"],"updated_at":"2026-11-02T15:46:37.148947Z"},{"id":"UBUNTU-CVE-2024-47609","description":"Tonic is a native gRPC client \u0026 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.","status":"published","published":"2024-10-01T21:15:00Z","modified":"2026-10-17T12:56:45.336482387Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/U:Green","level":"medium"}],"updated_at":"2026-11-02T16:55:02.636559Z"},{"id":"openSUSE-SU-2024:14440-1","title":"cargo-audit-advisory-db-20241030-1.1 on GA media","description":"These are all security issues fixed in the cargo-audit-advisory-db-20241030-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-10-30T00:00:00Z","modified":"2026-02-04T04:18:12.836524Z","updated_at":"2026-11-02T16:58:36.976155Z"},{"id":"RUSTSEC-2024-0376","title":"Remotely exploitable Denial of Service in Tonic","description":"## Impact\n\nWhen 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 via causing the accept call to error out with errors there were not covered correctly causing the accept loop to exit. \n\nMore information can be found [here](https://github.com/hyperium/tonic/issues/1897)\n\n## Patches\n\nUpgrading to tonic `0.12.3` and above contains the fix. \n\n## Workarounds\n\nA custom accept loop is a possible workaround.","status":"published","published":"2024-10-01T12:00:00Z","modified":"2026-10-12T18:00:12.403664088Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
