A denial of service vulnerability has been discovered in the resolv gem bundled with Ruby.
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.
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
Thanks to Manu for discovering this issue.
Originally published at 2025-07-08 07:00:00 (UTC)
{ "github_reviewed": true, "cwe_ids": [ "CWE-1284", "CWE-400" ], "severity": "MODERATE", "github_reviewed_at": "2025-07-15T14:37:08Z", "nvd_published_at": "2025-07-12T04:15:46Z" }