CVE-2026-19742 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 10. 26.

IPv6 스택은 RFC 7217의 안정적 인터페이스 식별자(gen_stable_iid(), subsys/net/ip/ipv6.c 위치)와 RFC 8981의 임시 인터페이스 식별자(gen_temporary_iid(), subsys/net/ip/ipv6_pe.c 위치)를 계산하는 데 사용되는 장기 지속(secret key) 키를 sys_rand_get()을 통해 도출했습니다. 해당 API는 암호학적으로 안전하지 않다고 문서화되어 있지만, 두 RFC 모두 이 키가 최소 128비트의 불확실한(random) 값이어야 한다고 요구합니다. 생성된 모든 IID의 불확실성은 전적으로 이 키에 달려 있습니다.

플랫폼에 따라 sys_rand_get()은 하드웨어 엔트로피 장치로 해결되거나, 엔트로피 드라이버에서 CONFIG_ENTROPY_NEEDS_PRNG를 설정하는 보드에서는 subsys/random/random_xoshiro128.c의 비암호학적 xoshiro128++ 생성기로 해결됩니다. 이 생성기는 모든 다른 sys_rand_get() 소비자들과 공유되는 단일 전역 128비트 상태를 유지합니다. 이러한 소비자의 많은 부분이 그 출력을 직접 네트워크에 전송(임시 소스 포트, DNS 쿼리 ID, CoAP 메시지 ID 및 토큰, DHCPv6 트랜잭션 ID, WebSocket 마스킹 키 등)하며, xoshiro 상태 전이는 역행 가능하므로 장치의 트래픽을 관찰하는 공격자는 생성기 상태를 복원하고 IID 비밀 키를 재구성할 수 있습니다. 또한 엔트로피 장치 백엔드에서 sys_rand_get()은 엔트로피 드라이버가 실패할 때 k_cycle_get_32() 샘플로 조용히(falls back) 대체되며 오류를 반환하지 않으므로, 호출자가 눈치채지 못한 채 키가 사이클 카운터로부터 도출될 수 있습니다.

키가 알려진 경우, 안정적 IID는 모든 프리픽스에 대해 직접 계산 가능해집니다(나머지 HMAC 입력값인 프리픽스, 인터페이스 인덱스, 인터페이스 이름, DAD 카운터는 추측 가능합니다). 또한 임시 IID는 k_uptime_get_32() 값에 대한 저렴한 검색을 통해 연결(linkable)될 수 있습니다. 이는 두 기능이 제공하려는 속성을 무력화합니다: 공격자는 네트워크와 프리픽스를 가로질러 장치를 추적할 수 있으며, 스캔 없이 /64 서브넷 내에서 장치의 주소를 예측할 수 있어 호스트를 직접 표적 삼는 데 있는 일반적인 장벽이 제거됩니다. 메모리 안전성(integrity), 무결성 또는 가용성에 미치는 영향은 없습니다.

해결책은 sys_csrand_get()을 사용하여 키를 생성하고, 암호학적 난수가 사용 불가능한 경우 조용히 예측 가능한 키로부터 주소를 도출하는 대신 -EIO로 IID 생성을 중단합니다. CONFIG_NET_IPV6_IID_STABLE 및 CONFIG_NET_IPV6_PE는 모두 실험적 기능이며 기본적으로 비활성화되어 있습니다; CONFIG_TEST_RANDOM_GENERATOR를 사용하는 빌드는 sys_csrand_get()이 의도적으로 테스트용 생성기로 라우팅되므로 설계상 예측 가능합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Zephyr

예약하다

2026. 08. 13.

모더레이션

수락

항목

VDB-426527

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!