CVE-2026-10643: bounds in zephyrproject zephyr
Zephyr's IP socket recvmsg() implementation (subsys/net/lib/sockets/sockets_inet.c, insert_pktinfo()) validated the user-supplied ancillary (msg_control) buffer using only the payload length (msg->msg_controllen < pktinfo_len) before writing a full control message consisting of an aligned cmsg header plus the payload. Because the check omitted the cmsg header size, a control buffer whose length falls in the under-checked window (e.g. 16-27 bytes for IPv4 IP_PKTINFO on a 64-bit target, where a single element actually occupies 28 bytes) passes the guard yet causes a fixed-size out-of-bounds write of up to one cmsg header (~12 bytes) past the end of the buffer. Under CONFIG_USERSPACE the recvmsg verifier allocates a kernel-heap copy of the control buffer sized to msg_controllen and runs the implementation against it, so the overflow corrupts kernel heap memory and is triggerable from an unprivileged userspace thread; in supervisor mode it corrupts the caller's buffer. The path is reachable on a UDP/IP socket with IP_PKTINFO/IPV6_RECVPKTINFO (or hoplimit/timestamping) enabled when the application calls recvmsg() with an undersized control buffer and a datagram is received; part of the overwritten bytes (the destination IP in ipi_addr) is influenced by the received packet. The fix makes the capacity check use NET_CMSG_SPACE(pktinfo_len) (aligned header + aligned data) and returns -ENOMEM when the buffer is too small. Affected: v3.6.0 through v4.4.0.
AI Analysis
Technical Summary
The vulnerability in Zephyr's recvmsg() implementation involves insufficient validation of the ancillary control buffer length, where the check only considers the payload length but omits the control message header size. This allows an attacker to provide a control buffer length that passes the check but is actually too small, causing an out-of-bounds write of up to approximately 12 bytes beyond the buffer. Under CONFIG_USERSPACE, this leads to kernel heap corruption since the verifier allocates a kernel-heap copy of the control buffer. The flaw is exploitable by an unprivileged userspace thread on UDP/IP sockets with IP_PKTINFO or IPV6_RECVPKTINFO enabled when receiving datagrams with undersized control buffers. The fix involves using NET_CMSG_SPACE(pktinfo_len) for capacity checking and returning -ENOMEM if the buffer is too small. Affected versions are from 3.6.0 through 4.4.0.
Potential Impact
Successful exploitation can cause kernel heap memory corruption or caller buffer corruption, potentially leading to denial of service or privilege escalation. The vulnerability affects confidentiality, integrity, and availability of the system. It is exploitable by unprivileged userspace processes under certain socket configurations.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves correcting the buffer size check to include the control message header size and returning an error when the buffer is too small. Until a patch is available, avoid using recvmsg() with undersized control buffers on UDP/IP sockets with IP_PKTINFO or related options enabled.
CVE-2026-10643: bounds in zephyrproject zephyr
Description
Zephyr's IP socket recvmsg() implementation (subsys/net/lib/sockets/sockets_inet.c, insert_pktinfo()) validated the user-supplied ancillary (msg_control) buffer using only the payload length (msg->msg_controllen < pktinfo_len) before writing a full control message consisting of an aligned cmsg header plus the payload. Because the check omitted the cmsg header size, a control buffer whose length falls in the under-checked window (e.g. 16-27 bytes for IPv4 IP_PKTINFO on a 64-bit target, where a single element actually occupies 28 bytes) passes the guard yet causes a fixed-size out-of-bounds write of up to one cmsg header (~12 bytes) past the end of the buffer. Under CONFIG_USERSPACE the recvmsg verifier allocates a kernel-heap copy of the control buffer sized to msg_controllen and runs the implementation against it, so the overflow corrupts kernel heap memory and is triggerable from an unprivileged userspace thread; in supervisor mode it corrupts the caller's buffer. The path is reachable on a UDP/IP socket with IP_PKTINFO/IPV6_RECVPKTINFO (or hoplimit/timestamping) enabled when the application calls recvmsg() with an undersized control buffer and a datagram is received; part of the overwritten bytes (the destination IP in ipi_addr) is influenced by the received packet. The fix makes the capacity check use NET_CMSG_SPACE(pktinfo_len) (aligned header + aligned data) and returns -ENOMEM when the buffer is too small. Affected: v3.6.0 through v4.4.0.
CVSS v3.1
Score 8.7high
Affected software
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 in Zephyr's recvmsg() implementation involves insufficient validation of the ancillary control buffer length, where the check only considers the payload length but omits the control message header size. This allows an attacker to provide a control buffer length that passes the check but is actually too small, causing an out-of-bounds write of up to approximately 12 bytes beyond the buffer. Under CONFIG_USERSPACE, this leads to kernel heap corruption since the verifier allocates a kernel-heap copy of the control buffer. The flaw is exploitable by an unprivileged userspace thread on UDP/IP sockets with IP_PKTINFO or IPV6_RECVPKTINFO enabled when receiving datagrams with undersized control buffers. The fix involves using NET_CMSG_SPACE(pktinfo_len) for capacity checking and returning -ENOMEM if the buffer is too small. Affected versions are from 3.6.0 through 4.4.0.
Potential Impact
Successful exploitation can cause kernel heap memory corruption or caller buffer corruption, potentially leading to denial of service or privilege escalation. The vulnerability affects confidentiality, integrity, and availability of the system. It is exploitable by unprivileged userspace processes under certain socket configurations.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves correcting the buffer size check to include the control message header size and returning an error when the buffer is too small. Until a patch is available, avoid using recvmsg() with undersized control buffers on UDP/IP sockets with IP_PKTINFO or related options enabled.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- zephyr
- Date Reserved
- 2026-06-02T15:11:44.894Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a405af827e9c79719a1c645
Added to database: 06/27/2026, 23:21:28 UTC
Last enriched: 08/07/2026, 13:09:48 UTC
Last updated: 08/11/2026, 08:06:41 UTC
Views: 263
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.