An issue was discovered in the resolv gem before 0.7.2 for Ruby. Resolv::DNS::Resource.get_class, Resolv::DNS::Resource::Generic.create, and Resolv::DNS::SvcParam::Generic.create generate a new class for each unknown DNS resource record (type, class) pair, or each unknown SvcParamKey, encountered while decoding a response. Each generated class was permanently registered both as a constant on Resource (or SvcParam::Generic) and as an entry in a class-lookup hash (ClassHash), and thus the class remained reachable through that constant after the response was discarded. Type and class are each 16-bit values, and thus an attacker controlling DNS responses (a spoofed response, or a malicious or hijacked upstream DNS server) has roughly 2^32 distinct (type, class) pairs to choose from. A single response of a few hundred kilobytes carrying tens of thousands of distinct unknown types permanently grows process memory by tens of megabytes; repeated responses accumulate without bound and are never reclaimed by garbage collection, because the constant keeps each class alive. Any code path that calls Resolv::DNS::Message.decode on attacker-influenced DNS responses is affected. resolv is a default gem, and thus this is reachable from a plain Ruby installation without any additional dependency.
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade ruby4.0-rubygemsUpgrade ruby3.4-rubygems-develUpgrade ruby4.0-rubygem-rexmlUpgrade ruby4.0-debugsourceUpgrade ruby4.0-rubygem-bigdecimal-debuginfoUpgrade ruby4.0-rubygem-io-console-debuginfoUpgrade ruby4.0-rubygem-rakeUpgrade ruby3.4-debugsourceUpgrade ruby3.4-rubygem-rbs-debuginfoUpgrade ruby3.4-rubygem-test-unitUpgrade ruby4.0-develUpgrade ruby4.0-rubygem-power_assertUpgrade ruby3.4-bundled-gems-debuginfoUpgrade ruby3.4-rubygem-io-console-debuginfoUpgrade ruby3.4-rubygem-minitestUpgrade ruby3.4-rubygem-psychUpgrade ruby4.0-rubygem-rbs-debuginfoUpgrade ruby4.0-bundled-gems-debuginfoUpgrade ruby3.4-default-gemsUpgrade ruby3.4-rubygem-rexmlUpgrade ruby4.0-rubygem-minitestUpgrade ruby4.0-rubygems-develUpgrade ruby3.4-develUpgrade ruby3.4-rubygem-typeprofUpgrade ruby3.4-rubygem-bigdecimalUpgrade ruby4.0-rubygem-psych-debuginfoUpgrade ruby3.4-libs-debuginfoUpgrade ruby3.4Upgrade ruby4.0-debuginfoUpgrade ruby3.4-docUpgrade ruby4.0-rubygem-typeprofUpgrade ruby3.4-rubygem-irbUpgrade ruby3.4-rubygem-io-consoleUpgrade ruby4.0-libsUpgrade ruby4.0-rubygem-bundlerUpgrade ruby3.4-rubygem-psych-debuginfoUpgrade ruby3.4-rubygem-raccUpgrade ruby3.4-rubygem-bundlerUpgrade ruby3.4-libsUpgrade ruby4.0-rubygem-irbUpgrade ruby3.4-rubygemsUpgrade ruby3.4-rubygem-rssUpgrade ruby4.0-bundled-gemsUpgrade ruby3.4-rubygem-rakeUpgrade ruby3.4-bundled-gemsUpgrade ruby4.0-rubygem-test-unitUpgrade ruby4.0-rubygem-jsonUpgrade ruby4.0-rubygem-bigdecimalUpgrade ruby4.0-default-gemsUpgrade ruby3.4-rubygem-racc-debuginfoUpgrade ruby4.0-rubygem-rdocUpgrade ruby4.0-rubygem-rbsUpgrade ruby3.4-rubygem-rdocUpgrade ruby3.4-rubygem-power_assertUpgrade ruby3.4-rubygem-bigdecimal-debuginfoUpgrade ruby4.0-docUpgrade ruby4.0-libs-debuginfoUpgrade ruby3.4-debuginfoUpgrade ruby3.4-rubygem-json-debuginfoUpgrade ruby4.0-rubygem-io-consoleUpgrade ruby4.0Upgrade ruby3.4-rubygem-rbsUpgrade ruby4.0-rubygem-psychUpgrade ruby4.0-rubygem-racc-debuginfoUpgrade ruby4.0-rubygem-raccUpgrade ruby4.0-rubygem-rssUpgrade ruby3.4-rubygem-jsonUpgrade ruby4.0-rubygem-json-debuginfo | Sep 30, 2026 | Aug 27, 2026 |
| Redhat_linux | — | Upgrade rubygem-rakeUpgrade rubygem-mysql2-docUpgrade rubygem-did_you_meanUpgrade ruby4.0-develUpgrade rubygem-racc-debuginfoUpgrade ruby-docUpgrade rubygem-xmlrpcUpgrade rubygem-rexmlUpgrade rubygem-bundlerUpgrade rubygem-mongo-docUpgrade ruby4.0Upgrade rubygem-io-console-debuginfoUpgrade rubygem-pg-debugsourceUpgrade rubygem-jsonUpgrade rubygem-mysql2-debuginfoUpgrade rubygem-pg-debuginfoUpgrade ruby4.0-debugsourceUpgrade rubygem-raccUpgrade rubygem-mysql2Upgrade rubygem-test-unitUpgrade rubygem-rbsUpgrade ruby-bundled-gemsUpgrade rubygem-rbs-debuginfoUpgrade ruby4.0-rubygem-pgUpgrade ruby4.0-debuginfoUpgrade ruby4.0-rubygem-mysql2-debuginfoNo solution existsUpgrade rubygem-bsonUpgrade rubygem-rssUpgrade rubygem-bson-debuginfoUpgrade ruby-develUpgrade rubygem-bigdecimalUpgrade rubygem-abrtUpgrade ruby-debuginfoUpgrade ruby-irbUpgrade rubygem-mysql2-debugsourceUpgrade ruby4.0-docUpgrade rubygem-irbUpgrade rubygem-io-consoleUpgrade rubygem-openssl-debuginfoUpgrade rubyUpgrade rubygem-mongoUpgrade rubygem-bson-docUpgrade rubygem-psych-debuginfoUpgrade rubygem-rdocUpgrade ruby-debugsourceUpgrade rubygem-pg-docUpgrade rubygem-json-debuginfoUpgrade ruby4.0-rubygem-pg-debuginfoUpgrade rubygem-net-telnetUpgrade ruby-libs-debuginfoUpgrade rubygem-bundler-docUpgrade ruby-default-gemsUpgrade rubygem-pgUpgrade rubygem-minitestUpgrade ruby-bundled-gems-debuginfoUpgrade rubygem-abrt-docUpgrade rubygem-psychUpgrade rubygemsUpgrade rubygems-develUpgrade rubygem-bigdecimal-debuginfoUpgrade ruby-libsUpgrade rubygem-opensslUpgrade rubygem-power_assertUpgrade rubygem-bson-debugsourceUpgrade ruby4.0-rubygem-mysql2Upgrade rubygem-typeprof | Sep 2, 2026 | Aug 27, 2026 |
| Rocky_linux | — | Upgrade rubygem-pgUpgrade rubygem-mysql2-debuginfoUpgrade rubygem-opensslUpgrade rubygem-raccUpgrade rubygem-openssl-debuginfoUpgrade rubygem-io-console-debuginfoUpgrade rubygem-bson-debugsourceUpgrade ruby4.0-rubygem-pg-debuginfoUpgrade rubygem-pg-debuginfoUpgrade ruby-libs-debuginfoUpgrade rubygem-bigdecimal-debuginfoUpgrade ruby4.0-rubygem-mysql2Upgrade rubygem-bson-debuginfoUpgrade ruby4.0-develUpgrade ruby-debuginfoUpgrade rubygem-mysql2-debugsourceUpgrade ruby4.0-rubygem-mysql2-debuginfoUpgrade rubygem-rbsUpgrade rubygem-mysql2Upgrade rubygem-io-consoleUpgrade rubygem-bigdecimalUpgrade ruby4.0-rubygem-pgUpgrade ruby4.0-debugsourceUpgrade ruby-develUpgrade ruby-bundled-gems-debuginfoUpgrade rubygem-pg-debugsourceUpgrade rubygem-racc-debuginfoUpgrade ruby4.0-debuginfoUpgrade ruby-libsUpgrade ruby-debugsourceUpgrade rubygem-jsonUpgrade rubygem-rbs-debuginfoUpgrade rubygem-psych-debuginfoUpgrade rubygem-json-debuginfoUpgrade rubygem-psychUpgrade ruby4.0Upgrade ruby-bundled-gemsUpgrade rubygem-bsonUpgrade ruby | Sep 30, 2026 | Sep 28, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub