Description
Zephyr's DNS resolver (subsys/net/lib/dns) parses resource records from DNS responses in dns_unpack_answer(), which validated only the fixed RR header (type, class, TTL, rdlength) and accepted any attacker-declared rdlength, including one extending past the end of the received datagram. The TXT and SRV consumers in dns_validate_record() (resolve.c) then read up to rdlength bytes (clamped only to a record-type maximum such as DNS_MAX_TEXT_SIZE, default 64, not to the packet) from the receive buffer via memcpy without their own bounds check, and pass the result to the application's resolve callback. A malicious or spoofed DNS server, an on-path attacker forging UDP DNS replies, or (with mDNS/LLMNR enabled) any LAN node can craft a truncated TXT or SRV response that causes an out-of-bounds read of adjacent receive-pool memory; the disclosed stale bytes (residual contents of prior DNS packets / uninitialized pool memory) are returned to the application as TXT/SRV record contents, an information leak, and may in some configurations cross the allocation boundary and fault, causing a denial of service. The read is bounded (~64 bytes for TXT, ~6 for SRV) and read-only (no write). The fix rejects any record whose declared rdata extends past dns_msg->msg_size at the single chokepoint in dns_unpack_answer(). Affected: v4.3.0 and v4.4.0.
Published: 2026-06-30
Score: 4.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Zephyr’s DNS resolver parses the rdlength field of TXT and SRV records without verifying that the declared length stays within the boundaries of the received DNS packet. An attacker can send a crafted DNS response whose rdlength value extends past the end of the message. The resolver then copies up to the declared length of rdata from the packet buffer into application memory. Because this read is bounded by a small configuration value (typically 64 bytes for TXT and fewer than 10 for SRV) and is read‑only, the primary impact is the leakage of residual memory contents that may contain sensitive data or uninitialized pool data. In some configurations the read may cross an allocation boundary and cause a crash, resulting in a denial of service.

Affected Systems

Zephyr RTOS versions 4.3.0 and 4.4.0 are affected. The flaw exists in the subsys/net/lib/dns component, specifically the dns_unpack_answer() and dns_validate_record() functions. No other vendors or product lines are directly affected.

Risk and Exploitability

The CVSS score of 4.8 indicates moderate confidentiality impact, reflecting the potential information exposure. EPSS data is unavailable and the vulnerability is not listed in the CISA KEV catalog, suggesting no publicly known exploitation. An attacker can craft and send malicious DNS responses over UDP, impersonate a DNS server, or use an on‑path attack to forge replies. Because the read is bounded to a small size and is read‑only, the likelihood of immediate crash is low, but in certain environments the out‑of‑bounds read could still trigger a fault and cause a denial of service.

Generated by OpenCVE AI on June 30, 2026 at 18:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Zephyr to a version that includes the patch that rejects records whose declared rdata length extends beyond the message size in dns_unpack_answer().
  • Enable logging of DNS responses to detect abnormal rdata lengths and alert administrators.
  • As a temporary measure, restrict or filter UDP DNS traffic at the network perimeter and consider disabling mDNS/LLMNR on devices that may receive spoofed replies.

Generated by OpenCVE AI on June 30, 2026 at 18:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 30 Jun 2026 21:30:00 +0000

Type Values Removed Values Added
First Time appeared Zephyrproject
Zephyrproject zephyr
Vendors & Products Zephyrproject
Zephyrproject zephyr

Tue, 30 Jun 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 30 Jun 2026 16:45:00 +0000

Type Values Removed Values Added
Description Zephyr's DNS resolver (subsys/net/lib/dns) parses resource records from DNS responses in dns_unpack_answer(), which validated only the fixed RR header (type, class, TTL, rdlength) and accepted any attacker-declared rdlength, including one extending past the end of the received datagram. The TXT and SRV consumers in dns_validate_record() (resolve.c) then read up to rdlength bytes (clamped only to a record-type maximum such as DNS_MAX_TEXT_SIZE, default 64, not to the packet) from the receive buffer via memcpy without their own bounds check, and pass the result to the application's resolve callback. A malicious or spoofed DNS server, an on-path attacker forging UDP DNS replies, or (with mDNS/LLMNR enabled) any LAN node can craft a truncated TXT or SRV response that causes an out-of-bounds read of adjacent receive-pool memory; the disclosed stale bytes (residual contents of prior DNS packets / uninitialized pool memory) are returned to the application as TXT/SRV record contents, an information leak, and may in some configurations cross the allocation boundary and fault, causing a denial of service. The read is bounded (~64 bytes for TXT, ~6 for SRV) and read-only (no write). The fix rejects any record whose declared rdata extends past dns_msg->msg_size at the single chokepoint in dns_unpack_answer(). Affected: v4.3.0 and v4.4.0.
Title Out-of-bounds read in Zephyr DNS resolver TXT/SRV record parsing (unvalidated `rdlength`)
Weaknesses CWE-125
References
Metrics cvssV3_1

{'score': 4.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L'}


Subscriptions

Zephyrproject Zephyr
cve-icon MITRE

Status: PUBLISHED

Assigner: zephyr

Published:

Updated: 2026-07-17T22:11:32.866Z

Reserved: 2026-06-02T15:24:25.664Z

Link: CVE-2026-10652

cve-icon Vulnrichment

Updated: 2026-06-30T16:44:45.438Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-30T21:15:05Z

Weaknesses