Bug 2525066 (CVE-2026-80212)

Summary: CVE-2026-80212 resolv: resolv gem: Denial of Service via uncontrolled memory growth from crafted DNS responses
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: akostadi, amasferr, dmayorov, ebourniv, eshamard, hasun, jlledo, jvasik, kaycoth, nyancey, pantinor, ptisnovs, rblanco, rhel-process-autobot, sbunciak, tsedmik, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the resolv gem. An attacker controlling DNS responses (e.g., a spoofed response or a malicious upstream DNS server) can exploit this by sending crafted DNS responses containing many distinct unknown DNS resource record pairs or SvcParamKeys. This leads to uncontrolled memory growth, as each unknown entry generates a new class that is permanently registered and never reclaimed. Repeated exploitation can result in a Denial of Service (DoS) due to unbounded memory accumulation.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2527308, 2527309    
Bug Blocks:    

Description OSIDB Bzimport 2026-08-27 16:57:00 UTC
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.

Comment 2 Jon Orris 2026-09-28 04:46:19 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:72285 https://access.redhat.com/errata/RHSA-2026:72285

Comment 3 Jon Orris 2026-09-28 05:57:07 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:72286 https://access.redhat.com/errata/RHSA-2026:72286

Comment 4 Jon Orris 2026-09-28 10:48:31 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:72427 https://access.redhat.com/errata/RHSA-2026:72427

Comment 5 Jon Orris 2026-09-28 14:33:54 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:72484 https://access.redhat.com/errata/RHSA-2026:72484

Comment 6 Jon Orris 2026-09-28 15:28:10 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:72485 https://access.redhat.com/errata/RHSA-2026:72485

Comment 7 Jon Orris 2026-09-28 19:05:42 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:72785 https://access.redhat.com/errata/RHSA-2026:72785

Comment 8 Jon Orris 2026-09-30 09:07:09 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:73519 https://access.redhat.com/errata/RHSA-2026:73519