GitHub Advisoryadvisory · RubyGems
GHSA-xh69-987w-hrp8 resolv vulnerable to DoS via insufficient DNS domain name length validation
MEDIUM
Official page ↗
- Aliases
- CVE-2025-24294
- Ecosystem
- RubyGems
- Packages
- resolv
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-1284, CWE-400
- Reviewed
- 2025-07-15
Affected packages
• RubyGems resolv: < 0.2.3 → fixed in 0.2.3
• RubyGems resolv: >= 0.4.0, < 0.6.2 → fixed in 0.6.2
• RubyGems resolv: >= 0.3.0, < 0.3.1 → fixed in 0.3.1
Description
A denial of service vulnerability has been discovered in the resolv gem bundled with Ruby.
Details
The vulnerability is caused by an insufficient check on the length of a decompressed domain name within a DNS packet.
An attacker can craft a malicious DNS packet containing a highly compressed domain name. When the resolv library parses such a packet, the name decompression process consumes a large amount of CPU resources, as the library does not limit the resulting
length of the name.
This resource consumption can cause the application thread to become unresponsive, resulting in a Denial of Service condition.
Affected Version
The vulnerability affects the resolv gem bundled with the following Ruby series:
• Ruby 3.2 series: resolv version 0.2.2 and earlier
• Ruby 3.3 series: resolv version 0.3.0
• Ruby 3.4 series: resolv version 0.6.1 and earlier
Credits
Thanks to Manu for discovering this issue.
History
Originally published at 2025-07-08 07:00:00 (UTC)
Related
Alias · CVE (1)
- CVE-2025-24294 The attack vector is a potential Denial of Service (DoS). vulnerability
References
- https://nvd.nist.gov/vuln/detail/CVE-2025-24294 advisory
- https://github.com/ruby/resolv/commit/4c2f71b5e80826506f78417d85b38481c058fb25 web
- https://github.com/ruby/resolv package
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/resolv/CVE-2025-24294.yml web
- https://www.ruby-lang.org/en/news/2025/07/08/dos-resolv-cve-2025-24294 web