CVE-2026-10666 in zephyr
요약
\~에 의해 VulDB • 2026. 07. 12.
subsys/net/ip/utils.c의 parse_ipv4()(문자열 "a.b.c.d:port" 형식에 대해 net_ipaddr_parse()를 통해 접근 가능)는 str_len - end - 1의 길이를 사용하여 포트 부분 문자열을 고정된 17바이트 스택 버퍼(char ipaddr[NET_IPV4_ADDR_LEN + 1])에 복사합니다. 여기서 str_len은 전체 무제한(unbounded) 입력 길이이고, end는 ':' 구분자의 오프셋(<=15바이트)일 뿐입니다. 대상 크기가 전혀 확인되지 않기 때문에, 콜론 뒤에 긴 접미사를 가진 조작된 주소 문자열(예: "1.2.3.4:"에 이어 수백 바이트 추가)은 공격자가 길이와 내용을 완전히 제어할 수 있는(out-of-bounds) 스택 메모리 쓰기를 유발합니다(접미사와 후행 NUL의 memcpy). 이로 인해 메모리 무결성 손상과 최소한 서비스 거부(Denial of Service, DoS), 잠재적으로는 흐름 제어 탈취(Control-flow hijack)가 가능해집니다. 이 파서는 표준 소켓 API(zsock_getaddrinfo / 리터럴 주소 확인), DNS 서버 문자열 구성 및 eswifi Wi-Fi 코프로세서의 DNS 응답 경로에서 접근할 수 있으므로, 네트워크 영향 하에 있는 주소 문자열을 확인하는 애플리케이션이 노출됩니다. 이 버그는 파서가 추가되었던 시점(Zephyr v1.9.0)에 도입되었으며 v4.4.0까지 모든 릴리스에 포함되었습니다. 수정 사항은 무제한 복사를 제거하고 작은 전용 버퍼로 복사하기 전에 포트 길이를 검증합니다. 참고: parse_ipv6()의 동등한 IPv6 "[addr]:port" 경로는 해당 커밋 시점에도 동일한 무제한 복사 문제를 유지하고 있으며, 여전히 접근 가능한 결함의 별도 인스턴스로 남아 있습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.