ieee802154: 6lowpan: only accept IPv6 packets in lowpan_xmit()
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.8epss 0.2%
exploitation probability
0.2%top 94% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
ieee802154: 6lowpan: only accept IPv6 packets in lowpan_xmit()
The aoe driver (or similar) generates a non-IPv6 packet
(e.g., ETH_P_AOE) and queues it for transmission via dev_queue_xmit()
on a 6LoWPAN interface (configured by the user or test case).
Since the packet is not IPv6, the 6LoWPAN header_ops->create function
(lowpan_header_create or header_create) returns early without initializing
the lowpan_addr_info structure in the skb headroom.
In the transmit function (lowpan_xmit), the driver calls lowpan_header
(or setup_header) which unconditionally copies and uses the lowpan_addr_info
from the headroom, which contains uninitialized data.
Fix this by dropping non IPv6 packets.
A similar fix is needed in net/bluetooth/6lowpan.c bt_xmit().
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/1a827b95e62b4cbe851ae7cc9c961cdfa769cca4https://git.kernel.org/stable/c/285b0842f2e01c3edf805f1fd64da11d9b7f6b4chttps://git.kernel.org/stable/c/3150e6d3223dfc356308125cabf9c34169842d2ahttps://git.kernel.org/stable/c/3a5f3f7aff18bcc36a57839cf50cf0cc8de707f3https://git.kernel.org/stable/c/87172cc8dc49aaf54407a31edffb0232f8cb93abhttps://git.kernel.org/stable/c/8da95cb6ad7d656c871e776a9c7b77e894d6d89chttps://git.kernel.org/stable/c/af07fffbd53ddc3ec3c2a4ca914f27899fa89bcahttps://git.kernel.org/stable/c/c1819c8defa235c7beda859bc185b1c429a55ecd