🔍 CVE-2026-10652

4.8
CVSS Score
MEDIUM
2026-06-30
2026-10-25 21:10
✅ 완료

🇰🇷 한글 설명

Zephyr의 DNS resolver가 DNS 응답의 리소스 레코드(RR)를 처리할 때 rdlength 값을 검증하지 않아 발생하는 취약점입니다. 공격자가 조작된 DNS 응답을 보내면 메모리 경계를 벗어난 읽기(Out-of-bounds read)가 발생하여 인접한 메모리의 민감한 정보가 유출되거나 서비스 거부(DoS)가 발생할 수 있습니다.

💡 쉬운 설명

DNS 응답을 처리할 때 데이터의 길이를 제대로 확인하지 않아, 실제 데이터보다 더 많은 양을 읽으려고 시도하는 문제입니다. 이 과정에서 컴퓨터 메모리에 남아있던 다른 중요한 정보가 공격자에게 노출될 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Zephyr RTOS v4.3.0 및 v4.4.0

⚔️ 공격 벡터

악의적인 DNS 서버 또는 네트워크 중간에서 조작된 UDP DNS 응답을 전송하는 방식

🛡️ 대응 방법

dns_unpack_answer() 함수에서 rdlength가 메시지 크기를 초과하는지 검증하도록 패치된 최신 버전으로 업데이트

🔧 검증 코드

명령어 결과에 v4.3.0 또는 v4.4.0 버전이 포함되어 있으면 해당 취약점에 노출된 상태입니다.

Shell / Script
zephyr-sdk-version | grep -E 'v4\.3\.0|v4\.4\.0'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L

💻 영향받는 소프트웨어

IBM WebSphere Application Server