CVE-2026-12630: 6LoWPAN IPHC uncompression out-of-bounds read on reserved destination addressing mode
Zephyr's 6LoWPAN IP Header Compression (IPHC) uncompression code contains an out-of-bounds read in getihpcinlinedsize() (subsys/net/ip/6lo.c). The destination inline size is looked up in dainlinesizetable, which has 13 entries, using an index built from the M, DAC and DAM bits of the received IPHC dispatch word (iphc & NET6LOIPHCDAMASK, a 4-bit value of 0-15). The reserved combinations 13, 14 and 15 are not bounds-checked and read past the end of the table.
The iphc word is taken directly from the received frame, and getihpcinlinedsize() is reached on every inbound 6LoWPAN frame via net6louncompress() from the 802.15.4 receive path (subsys/net/l2/ieee802154/ieee8021546lo.c and ieee8021546lofragment.c). An unauthenticated attacker on the radio/adjacent link can therefore craft a frame whose destination addressing-mode nibble selects an out-of-range index, with no privileges or user interaction.
The out-of-bounds value becomes the computed inlinesize, which then drives header reconstruction before the buffer-length check: it is used to dereference (pkt->buffer->data + sizeof(iphc) + inlinesize) and to compute a sizet diff that can underflow, leading to a further out-of-bounds read of the packet buffer and malformed uncompression. The practical impact is a radio-triggerable out-of-bounds read / denial-of-service on the receiver; the leaked byte is not returned to the attacker. The fix rejects any destination index beyond the table, aborting processing of the malformed frame.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Update Zephyr 6LoWPAN IPHC uncompression so that in get_ihpc_inlined_size() (subsys/net/ip/6lo.c) any computed destination index derived from (iphc & NET_6LO_IPHC_DA_MASK) is bounds-checked and processing is aborted for out-of-range indices (explicitly including reserved combinations 13, 14, and 15) to prevent out-of-bounds reads past da_inline_size_table.
Zephyr 6LoWPAN IPHC uncompression Reject reserved destination addressing-mode nibble (destination index) = Abort/Drop malformed inbound frame when destination index >= number of entries in da_inline_size_table
Event History
Frequently Asked Questions
What is the severity of CVE-2026-12630?
The severity of CVE-2026-12630 is medium with a score of 4.3.
What type of vulnerability is identified in CVE-2026-12630?
CVE-2026-12630 is an out-of-bounds read vulnerability in Zephyr's 6LoWPAN IP Header Compression.
How does CVE-2026-12630 affect the Zephyr software?
CVE-2026-12630 can lead to potential information disclosure due to the uncompression code's handling of destination addressing.
Is there a known fix for CVE-2026-12630?
As of now, users should monitor the Zephyr project for updates or patches addressing CVE-2026-12630.
What components of Zephyr are affected by CVE-2026-12630?
CVE-2026-12630 affects the 6LoWPAN IPHC uncompression functionality in the Zephyr OS network subsystem.