CVE-2026-80212
Last modified
CVE-2026-80212 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. 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.
Description
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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Ruby | resolv | < 0.3.2; >= 0.4.0, < 0.7.2 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-80212?
How severe is CVE-2026-80212?
How do I fix CVE-2026-80212?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-80207APITable through 1.13.0-beta.1 annotates the create handler …5.3
- CVE-2026-80208APITable through 1.13.0-beta.1 annotates both getUserHistori…8.2
- CVE-2026-80209The updateWorkspace handler in mods/identity/src/workspaces/…4.3
- CVE-2026-8021Script injection in UI in Google Chrome prior to 148.0.7778.…4.2
- CVE-2026-80210FrontAccounting through 2.4.20 generates a CSRF token in end…6.5
- CVE-2026-80211FrontAccounting through 2.4.20 stores and verifies user pass…5.9
- CVE-2026-80213An issue was discovered in the resolv gem before 0.7.2 for R…4
- CVE-2026-80214LibreNMS’s Virtualization Discovery module is vulnerable to …8.6
- CVE-2026-8022Inappropriate implementation in MHTML in Google Chrome prior…3.1
- CVE-2026-80223Incorrect Authorization vulnerability in ash-project ash_gra…7.1
- CVE-2026-80227Incorrect Comparison vulnerability in ash-project ash_sql al…2.1
- CVE-2026-8023Zephyr's HTTP server (subsys/net/lib/http) provides a static…7.5
Are you affected by CVE-2026-80212?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
