CVE Catalog

CVE-2026-10652

MediumCVSS 4.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.42%

36th percentile - higher than 36% of all known CVEs

Summary

In Zephyr's DNS resolver (subsys/net/lib/dns), the dns_unpack_answer() function fails to validate the declared rdlength in DNS responses. An attacker can craft a response with an oversized rdlength, causing an out-of-bounds read of the receive buffer. This affects TXT and SRV records, leaking stale or uninitialized memory to the application.

Risk Assessment

The organization risks information disclosure of sensitive kernel memory (e.g., remnants of prior DNS packets) and potential denial of service (DoS) if the read crosses allocation boundaries. The attack can be launched by a malicious DNS server, an on-path attacker, or any LAN node (if mDNS/LLMNR is enabled).

Recommendation

Immediately update Zephyr to a patched version (v4.4.1 or later). If updating is not possible, disable mDNS/LLMNR and restrict trust to DNS servers.

Other vulnerabilities in Zephyr DNS resolver

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS