CVE-2026-10773: bounds in zephyrproject zephyr
The DHCPv4 client helper net_dhcpv4_msg_type_name() in subsys/net/lib/dhcpv4/dhcpv4.c indexes a static 8-element const char * name table after a faulty bounds check. The guard used msg_type <= sizeof(name) instead of msg_type <= ARRAY_SIZE(name); sizeof returns the byte size of the pointer array (32 on 32-bit, 64 on 64-bit targets) rather than the element count of 8, so message-type values from 9 up to that byte size pass the check and cause name[msg_type - 1] to read past the end of the array. The msg_type value originates from the DHCP MESSAGE TYPE option, which is read as an unchecked raw byte from a received packet (net_pkt_read_u8) and passed unmodified into the lookup. A DHCP server, or any host able to inject a spoofed DHCP reply onto the client's link, can therefore drive the index out of bounds. The out-of-range slot yields a garbage const char * that is then dereferenced by a %s log conversion. The lookup is reached only from a debug log statement (NET_DBG / LOG_DBG), so the out-of-bounds read is triggerable only when the DHCPv4 log module is built at DEBUG level (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG), which is not the default configuration. When that condition holds, the result is an out-of-bounds read and a wild-pointer dereference: most likely a crash of the DHCP client (denial of service) and potentially disclosure of an adjacent pointer's contents through the log output. The fix replaces sizeof with ARRAY_SIZE, restoring the correct 1..8 acceptance window.
AI Analysis
Technical Summary
The vulnerability exists in the net_dhcpv4_msg_type_name() helper function in Zephyr's DHCPv4 client, where a static 8-element array is indexed using a faulty bounds check. The code uses sizeof(name) instead of ARRAY_SIZE(name), causing the check to allow out-of-bounds indices from 9 up to the byte size of the pointer array (32 or 64). The msg_type value comes directly from an unchecked DHCP MESSAGE TYPE option byte in received packets. When debug logging (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG) is enabled, this leads to an out-of-bounds read and dereference of a garbage pointer in a log statement, likely crashing the client and possibly disclosing adjacent memory contents.
Potential Impact
An attacker capable of injecting spoofed DHCP replies on the client's network link can trigger an out-of-bounds read and wild pointer dereference in the DHCP client when debug logging is enabled. This can cause a denial of service by crashing the DHCP client and may disclose memory contents through log output. The impact is limited by the requirement that debug-level DHCPv4 logging is enabled, which is not the default configuration.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, ensure that DHCPv4 debug logging (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG) is disabled in production environments to prevent triggering the vulnerability.
CVE-2026-10773: bounds in zephyrproject zephyr
Description
The DHCPv4 client helper net_dhcpv4_msg_type_name() in subsys/net/lib/dhcpv4/dhcpv4.c indexes a static 8-element const char * name table after a faulty bounds check. The guard used msg_type <= sizeof(name) instead of msg_type <= ARRAY_SIZE(name); sizeof returns the byte size of the pointer array (32 on 32-bit, 64 on 64-bit targets) rather than the element count of 8, so message-type values from 9 up to that byte size pass the check and cause name[msg_type - 1] to read past the end of the array. The msg_type value originates from the DHCP MESSAGE TYPE option, which is read as an unchecked raw byte from a received packet (net_pkt_read_u8) and passed unmodified into the lookup. A DHCP server, or any host able to inject a spoofed DHCP reply onto the client's link, can therefore drive the index out of bounds. The out-of-range slot yields a garbage const char * that is then dereferenced by a %s log conversion. The lookup is reached only from a debug log statement (NET_DBG / LOG_DBG), so the out-of-bounds read is triggerable only when the DHCPv4 log module is built at DEBUG level (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG), which is not the default configuration. When that condition holds, the result is an out-of-bounds read and a wild-pointer dereference: most likely a crash of the DHCP client (denial of service) and potentially disclosure of an adjacent pointer's contents through the log output. The fix replaces sizeof with ARRAY_SIZE, restoring the correct 1..8 acceptance window.
CVSS v3.1
Score 5.4medium
Affected software
zephyrproject
zephyr
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability exists in the net_dhcpv4_msg_type_name() helper function in Zephyr's DHCPv4 client, where a static 8-element array is indexed using a faulty bounds check. The code uses sizeof(name) instead of ARRAY_SIZE(name), causing the check to allow out-of-bounds indices from 9 up to the byte size of the pointer array (32 or 64). The msg_type value comes directly from an unchecked DHCP MESSAGE TYPE option byte in received packets. When debug logging (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG) is enabled, this leads to an out-of-bounds read and dereference of a garbage pointer in a log statement, likely crashing the client and possibly disclosing adjacent memory contents.
Potential Impact
An attacker capable of injecting spoofed DHCP replies on the client's network link can trigger an out-of-bounds read and wild pointer dereference in the DHCP client when debug logging is enabled. This can cause a denial of service by crashing the DHCP client and may disclose memory contents through log output. The impact is limited by the requirement that debug-level DHCPv4 logging is enabled, which is not the default configuration.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, ensure that DHCPv4 debug logging (CONFIG_NET_DHCPV4_LOG_LEVEL_DBG) is disabled in production environments to prevent triggering the vulnerability.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- zephyr
- Date Reserved
- 2026-06-03T15:44:06.548Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a6deb26bf32cb7a34c1fc05
Added to database: 08/01/2026, 12:48:38 UTC
Last enriched: 08/08/2026, 14:25:22 UTC
Last updated: 09/15/2026, 10:07:33 UTC
Views: 80
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.