CVE-2021-47309

In the Linux kernel, the following vulnerability has been resolved: net: validate lwtstate->data before returning from skb_tunnel_info() skb_tunnel_info() returns pointer of lwtstate->data as ip_tunnel_info type without validation. lwtstate->data can have various types such as mpls_iptunnel_encap, etc and these are not compatible. So skb_tunnel_info() should validate before returning that pointer. Splat looks like: BUG: KASAN: slab-out-of-bounds in vxlan_get_route+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: dump_stack_lvl+0x56/0x7b print_address_description.constprop.8.cold.13+0x13/0x2ee ? vxlan_get_route+0x418/0x4b0 [vxlan] ? vxlan_get_route+0x418/0x4b0 [vxlan] kasan_report.cold.14+0x83/0xdf ? vxlan_get_route+0x418/0x4b0 [vxlan] vxlan_get_route+0x418/0x4b0 [vxlan] [ ... ] vxlan_xmit_one+0x148b/0x32b0 [vxlan] [ ... ] vxlan_xmit+0x25c5/0x4780 [vxlan] [ ... ] dev_hard_start_xmit+0x1ae/0x6e0 __dev_queue_xmit+0x1f39/0x31a0 [ ... ] neigh_xmit+0x2f9/0x940 mpls_xmit+0x911/0x1600 [mpls_iptunnel] lwtunnel_xmit+0x18f/0x450 ip_finish_output2+0x867/0x2040 [ ... ]
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.14:rc1:*:*:*:*:*:*

History

26 Dec 2024, 18:44

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:5.14:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.1
CWE CWE-125
References () https://git.kernel.org/stable/c/2179d96ec702cc33ead02a9ce40ece599b8538c5 - () https://git.kernel.org/stable/c/2179d96ec702cc33ead02a9ce40ece599b8538c5 - Patch
References () https://git.kernel.org/stable/c/67a9c94317402b826fc3db32afc8f39336803d97 - () https://git.kernel.org/stable/c/67a9c94317402b826fc3db32afc8f39336803d97 - Patch
References () https://git.kernel.org/stable/c/83bdcfbd968bcc91a0632b7b625e4a9b0cba5e0d - () https://git.kernel.org/stable/c/83bdcfbd968bcc91a0632b7b625e4a9b0cba5e0d - Patch
References () https://git.kernel.org/stable/c/8aa13a86964cdec4fd969ef677c6614ff068641a - () https://git.kernel.org/stable/c/8aa13a86964cdec4fd969ef677c6614ff068641a - Patch
References () https://git.kernel.org/stable/c/8bb1589c89e61e3b182dd546f1021928ebb5c2a6 - () https://git.kernel.org/stable/c/8bb1589c89e61e3b182dd546f1021928ebb5c2a6 - Patch
References () https://git.kernel.org/stable/c/a915379594f1e045421635c6316d8f3ffa018c58 - () https://git.kernel.org/stable/c/a915379594f1e045421635c6316d8f3ffa018c58 - Patch
References () https://git.kernel.org/stable/c/b61d327cd3cc5ea591f3bf751dd11e034f388bb5 - () https://git.kernel.org/stable/c/b61d327cd3cc5ea591f3bf751dd11e034f388bb5 - Patch
References () https://git.kernel.org/stable/c/e7f3c9df40515a6c6b46f36c4c94cf48a043f887 - () https://git.kernel.org/stable/c/e7f3c9df40515a6c6b46f36c4c94cf48a043f887 - Patch
First Time Linux
Linux linux Kernel

21 Nov 2024, 06:35

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/2179d96ec702cc33ead02a9ce40ece599b8538c5 - () https://git.kernel.org/stable/c/2179d96ec702cc33ead02a9ce40ece599b8538c5 -
References () https://git.kernel.org/stable/c/67a9c94317402b826fc3db32afc8f39336803d97 - () https://git.kernel.org/stable/c/67a9c94317402b826fc3db32afc8f39336803d97 -
References () https://git.kernel.org/stable/c/83bdcfbd968bcc91a0632b7b625e4a9b0cba5e0d - () https://git.kernel.org/stable/c/83bdcfbd968bcc91a0632b7b625e4a9b0cba5e0d -
References () https://git.kernel.org/stable/c/8aa13a86964cdec4fd969ef677c6614ff068641a - () https://git.kernel.org/stable/c/8aa13a86964cdec4fd969ef677c6614ff068641a -
References () https://git.kernel.org/stable/c/8bb1589c89e61e3b182dd546f1021928ebb5c2a6 - () https://git.kernel.org/stable/c/8bb1589c89e61e3b182dd546f1021928ebb5c2a6 -
References () https://git.kernel.org/stable/c/a915379594f1e045421635c6316d8f3ffa018c58 - () https://git.kernel.org/stable/c/a915379594f1e045421635c6316d8f3ffa018c58 -
References () https://git.kernel.org/stable/c/b61d327cd3cc5ea591f3bf751dd11e034f388bb5 - () https://git.kernel.org/stable/c/b61d327cd3cc5ea591f3bf751dd11e034f388bb5 -
References () https://git.kernel.org/stable/c/e7f3c9df40515a6c6b46f36c4c94cf48a043f887 - () https://git.kernel.org/stable/c/e7f3c9df40515a6c6b46f36c4c94cf48a043f887 -
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net: validar lwtstate->data antes de regresar de skb_tunnel_info() skb_tunnel_info() devuelve un puntero de lwtstate->data como tipo ip_tunnel_info sin validación. lwtstate->data puede tener varios tipos como mpls_iptunnel_encap, etc. y estos no son compatibles. Entonces skb_tunnel_info() debería validarse antes de devolver ese puntero. Splat se ve así: BUG: KASAN: slab fuera de los límites en vxlan_get_route+0x418/0x4b0 [vxlan] Lectura de tamaño 2 en la dirección ffff888106ec2698 mediante tarea ping/811 CPU: 1 PID: 811 Comm: ping No contaminado 5.13.0 + #1195 Seguimiento de llamadas: dump_stack_lvl+0x56/0x7b print_address_description.constprop.8.cold.13+0x13/0x2ee? vxlan_get_route+0x418/0x4b0 [vxlan] ? vxlan_get_route+0x418/0x4b0 [vxlan] kasan_report.cold.14+0x83/0xdf? vxlan_get_route+0x418/0x4b0 [vxlan] vxlan_get_route+0x418/0x4b0 [vxlan] [ ... ] vxlan_xmit_one+0x148b/0x32b0 [vxlan] [ ... ] vxlan_xmit+0x25c5/0x4780 [vxlan] [ ... ] +0x1ae /0x6e0 __dev_queue_xmit+0x1f39/0x31a0 [...] veck_xMit+0x2f9/0x940 mpls_xmit+0x911/0x1600 [mpls_iptunnel] lwtunnel_xmit+0x18f/0x450 ip_finish_output2+0x20467/0x2040

21 May 2024, 15:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-21 15:15

Updated : 2024-12-26 18:44


NVD link : CVE-2021-47309

Mitre link : CVE-2021-47309

CVE.ORG link : CVE-2021-47309


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-125

Out-of-bounds Read