Skip to main content

Hickory DNS EUVDEUVD-2026-119362

| CVE-2026-123603 MEDIUM
Improper Access Control (CWE-284)
2026-11-08 VulnCheck GHSA-g99j-j499-7pp4
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Connect using IPv4-mapped IPv6 address
  2. Exploit
    Access-control check skips canonicalization
  3. Execution
    Bypass deny_answers/deny_server/client deny list
  4. Impact
    Reach denied server or evade answer filtering

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Not a default-config remote flaw despite PR:N. For hickory-server, exploitation requires library code (not the hickory-dns binary) using Server::with_access() AND register_socket() with IPv6 sockets that omit set_only_v6(true), so a dual-stack socket accepts IPv4-mapped clients; a denied client can then connect via ::ffff: form. For hickory-resolver, ResolverOpts must set deny_answers (or, with the non-default recursor feature, RecursorOptions with deny_answers/deny_server). For hickory-proto, the non-default access-control feature relying on AccessControlSet must be in use. For the now-defunct hickory-recursor crate, RecursorOptions with deny_answers/deny_server. Limiting factors: the vulnerable features are opt-in and non-default, an administrator must have configured a deny/allow filter for there to be anything to bypass, and the hickory-dns binary is explicitly unaffected - materially narrowing real-world exposure.

Impact

This is a genuine access-control-bypass flaw but a moderate-priority one, not a drop-everything emergency. The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes unauthenticated, low-complexity network reach, yet the vulnerable-system impacts are capped at VC:L/VI:L/VA:N, yielding a 6.9 (Medium) - the issue weakens a security control rather than directly disclosing sensitive data or granting code execution. The vuln.today decision label is 'this_month' (not act_now/emergency), and there is no CISA KEV listing and no EPSS score provided, so widespread or active exploitation is not indicated. No public exploit identified at time of analysis - only vendor/advisory references (GHSA, VulnCheck) exist, not working exploit code. The most important nuance the raw PR:N score hides: exploitation is strongly gated by non-default configuration - the affected paths require opt-in features (access-control, recursor) or explicit filter settings (deny_answers, deny_server, AccessControlSet), and the hickory-dns binary itself is explicitly NOT affected; only library integrations are. So the PR:N network-vector score overstates real-world exposure for most deployments. EPSS is not supplied, so probability of exploitation cannot be quantified from this data.

Exploit ScenarioDerived

An attacker whose real IPv4 address is on a hickory-server library deployment's client deny list connects over a dual-stack IPv6 socket using the IPv4-mapped form (::ffff:a.b.c.d); because the address is not canonicalized before the allow/deny check, the request is accepted despite the block. In the resolver/recursor case, a malicious nameserver or response uses IPv4-mapped addresses so that answers which should be stripped by deny_answers pass through, or queries reach a nameserver that deny_server should have blocked. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 08, 2026

IPv4-mapped IPv6 addresses are not canonicalized before being compared against deny/allow filters in the Hickory DNS Rust libraries, letting an attacker present an address in ::ffff:a.b.c.d form and slip past rules written for the plain IPv4 form. Three distinct exposures follow: hickory-resolver (0.26.0-0.26.1) can return answers that deny_answers should have stripped and, with the non-default recursor feature, query nameservers that deny_server should have blocked; hickory-proto (0.26.0-0.26.1) with the non-default access-control feature can mis-evaluate AccessControlSet rules; and hickory-server (0.25.0-alpha.1-0.26.1) built directly against the library with Server::with_access() plus register_socket() on IPv6 sockets lacking set_only_v6(true) can accept clients that should have been denied. The shipped hickory-dns binary is explicitly unaffected, every vulnerable path is opt-in and requires an administrator to have configured a filter in the first place, and no public exploit or CISA KEV entry was identified at time of analysis; the now-defunct hickory-recursor crate (0.25.0-alpha.3-0.26.0-alpha.1) is covered by the same flaw and has no fixed release listed.

RemediationAI

Upgrade hickory-proto, hickory-resolver and hickory-server to 0.26.2, which canonicalizes IPv4-mapped IPv6 addresses before evaluating deny_answers, deny_server and AccessControlSet rules; the same 0.26.2 release is the fix point across all three crates per the GHSA-4jwp-xjwm-333g advisory. No fixed version is listed for the now-defunct hickory-recursor crate (0.25.0-alpha.3 through 0.26.0-alpha.1), so consumers of that crate should migrate to hickory-resolver 0.26.2 or later rather than wait for a backport. Where an immediate upgrade is not possible, the actionable compensating control is specific to the server use case: ensure every IPv6 listener registered via register_socket() sets set_only_v6(true), which rejects IPv4-mapped clients at the socket level and closes the bypass - the trade-off is that the socket will no longer accept IPv4 traffic at all, so IPv4 clients need a separate listener. For hickory-resolver and hickory-proto, the deny/allow filters themselves are the thing being bypassed and there is no filtering-side workaround that restores correctness; if the filters must remain authoritative before the upgrade, restrict which upstream nameservers and answer space is reachable at the network layer rather than relying on the in-library lists, and treat any ACL expressed only as an IPv4 literal as unreliable on dual-stack sockets. Note that the hickory-dns binary does not require action.

Affected VersionsENISA

hickory-dns 0.26.0 <0.26.2
hickory-dns 0.25.0-alpha.3 ≤0.26.0-alpha.1
hickory-dns 0.25.0-alpha.1 <0.26.2

Affected Packages

euvd hickory_dns fix: 0.26.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Hickory DNS is a Rust DNS implementation split into hickory-proto (wire protocol and message types), hickory-resolver (stub/recursive resolution with filtering options), hickory-server (an embeddable authoritative/forwarding server library) and the historical hickory-recursor crate. The flaw is rooted in CWE-284 (improper access control), with the advisory additionally classifying it as CWE-918 (server-side request forgery) and CWE-1289 (improper validation of unsafe equivalence) - the latter is the most precise: '::ffff:198.51.100.7' and '198.51.100.7' denote the same host but were treated as different values during policy evaluation, so an ACL, answer filter or nameserver denylist keyed on the IPv4 literal had no effect on the mapped form. Because the comparison happens before any policy decision, the bypass is silent: the library believes the check succeeded. Affected configurations are opt-in rather than default - the access-control feature in hickory-proto, ResolverOpts::deny_answers (and RecursorOptions::deny_answers/deny_server under the recursor feature) in hickory-resolver, and Server::with_access() combined with register_socket() on an IPv6 socket that does not set set_only_v6(true) in hickory-server, where a dual-stack socket is what allows an IPv4-mapped client to reach a listener an access-control rule intended to refuse. The trigger path in each case is configuration- and deployment-dependent; the advisory confirms the mechanism but not every possible call sequence, and the hickory-dns binary itself ships configurations that are not exposed.

Know when Hickory Dns gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable IPv4-mapped bypass needs no privileges or interaction (AV:N/AC:L/PR:N/UI:N); impact is limited to weakened filtering with low confidentiality/integrity effect and no availability loss.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Nov 08, 2026 - 03:01 EUVD

DescriptionCVE.org

hickory-proto and hickory-resolver 0.26.0 before 0.26.2, hickory-server 0.25.0-alpha.1 before 0.26.2, and hickory-recursor 0.25.0-alpha.3 through 0.26.0-alpha.1 fail to canonicalize IPv4-mapped IPv6 addresses when checking deny_answers, deny_server, or AccessControlSet rules. Attackers can use IPv4-mapped addresses to evade answer filtering, trigger queries to denied nameservers, or reach hickory-server library deployments on dual-stack IPv6 sockets from denied clients.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche pure-Rust DNS library, used mainly within Rust projects
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy