In the Linux kernel, the following vulnerability has been resolved:
net: validate lwtstate->data before returning from skbtunnelinfo()
skbtunnelinfo() returns pointer of lwtstate->data as iptunnelinfo type without validation. lwtstate->data can have various types such as mplsiptunnelencap, etc and these are not compatible. So skbtunnelinfo() should validate before returning that pointer.
Splat looks like: BUG: KASAN: slab-out-of-bounds in vxlangetroute+0x418/0x4b0 [vxlan] Read of size 2 at addr ffff888106ec2698 by task ping/811
CPU: 1 PID: 811 Comm: ping Not tainted 5.13.0+ #1195 Call Trace: dumpstacklvl+0x56/0x7b printaddressdescription.constprop.8.cold.13+0x13/0x2ee ? vxlangetroute+0x418/0x4b0 [vxlan] ? vxlangetroute+0x418/0x4b0 [vxlan] kasanreport.cold.14+0x83/0xdf ? vxlangetroute+0x418/0x4b0 [vxlan] vxlangetroute+0x418/0x4b0 [vxlan] [ ... ] vxlanxmitone+0x148b/0x32b0 [vxlan] [ ... ] vxlanxmit+0x25c5/0x4780 [vxlan] [ ... ] devhardstart_xmit+0x1ae/0x6e0 __devqueuexmit+0x1f39/0x31a0 [ ... ] neighxmit+0x2f9/0x940 mplsxmit+0x911/0x1600 [mplsiptunnel] lwtunnelxmit+0x18f/0x450 ipfinishoutput2+0x867/0x2040 [ ... ]
[
{
"events": [
{
"introduced": "4.3"
},
{
"fixed": "4.4.277"
}
]
},
{
"events": [
{
"introduced": "4.5"
},
{
"fixed": "4.9.277"
}
]
},
{
"events": [
{
"introduced": "4.10"
},
{
"fixed": "4.14.241"
}
]
},
{
"events": [
{
"introduced": "4.15"
},
{
"fixed": "4.19.199"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.135"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.53"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.13.5"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.14-rc1"
}
]
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47309.json"