Impact
The vulnerability arises because Zephyr’s IPv6 stack derives the secret key for RFC 7217 stable identifiers and RFC 8981 temporary identifiers from sys_rand_get(), which is documented as non-cryptographic. The generated 128-bit key is entirely dependent on the PRNG state, allowing an attacker to recover the key and compute any interface address deterministically, thereby breaking the privacy guarantees of both stable and temporary IIDs.
Affected Systems
The flaw affects any Zephyr build that enables CONFIG_NET_IPV6_IID_STABLE or CONFIG_NET_IPV6_PE, especially when sys_rand_get resolves to the xoshiro128++ generator or falls back to non-cryptographic entropy sources. Although these options are experimental and disabled by default, they may be enabled by developers or remain predictable if the test random generator is used in production.
Risk and Exploitability
The CVSS score of 3.7 indicates low severity, and the vulnerability is not listed in CISA’s KEV catalog; EPSS data is unavailable. However, an attacker who can observe network traffic containing successive invocations of sys_rand_get()—for example, DHCPv6 transaction IDs or DNS query IDs—can invert the PRNG state and reconstruct the key. Once the key is known, stable IIDs become directly computable for any prefix, and temporary IIDs can be linked across time, permitting device tracking across networks and address prediction within a /64 prefix.
OpenCVE Enrichment