CVE-2024-26633

ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()

MEDIUM
5.5
CVSS Score
Published: March 18, 2024 at 10:07 AM UTC
Updated: June 17, 2026 at 07:17 AM UTC
36 products affected across 3 vendorsLinux KernelDebian LinuxONTAP Select Deploy administration utility

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim() syzbot pointed out [1] that NEXTHDR_FRAGMENT handling is broken. Reading frag_off can only be done if we pulled enough bytes to skb->head. Currently we might access garbage. [1] BUG: KMSAN: uninit-value in ip6_tnl_parse_tlv_enc_lim+0x94f/0xbb0 ip6_tnl_parse_tlv_enc_lim+0x94f/0xbb0 ipxip6_tnl_xmit net/ipv6/ip6_tunnel.c:1326 [inline] ip6_tnl_start_xmit+0xab2/0x1a70 net/ipv6/ip6_tunnel.c:1432 __netdev_start_xmit include/linux/netdevice.h:4940 [inline] netdev_start_xmit include/linux/netdevice.h:4954 [inline] xmit_one net/core/dev.c:3548 [inline] dev_hard_start_xmit+0x247/0xa10 net/core/dev.c:3564 __dev_queue_xmit+0x33b8/0x5130 net/core/dev.c:4349 dev_queue_xmit include/linux/netdevice.h:3134 [inline] neigh_connected_output+0x569/0x660 net/core/neighbour.c:1592 neigh_output include/net/neighbour.h:542 [inline] ip6_finish_output2+0x23a9/0x2b30 net/ipv6/ip6_output.c:137 ip6_finish_output+0x855/0x12b0 net/ipv6/ip6_output.c:222 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x323/0x610 net/ipv6/ip6_output.c:243 dst_output include/net/dst.h:451 [inline] ip6_local_out+0xe9/0x140 net/ipv6/output_core.c:155 ip6_send_skb net/ipv6/ip6_output.c:1952 [inline] ip6_push_pending_frames+0x1f9/0x560 net/ipv6/ip6_output.c:1972 rawv6_push_pending_frames+0xbe8/0xdf0 net/ipv6/raw.c:582 rawv6_sendmsg+0x2b66/0x2e70 net/ipv6/raw.c:920 inet_sendmsg+0x105/0x190 net/ipv4/af_inet.c:847 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2584 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2638 __sys_sendmsg net/socket.c:2667 [inline] __do_sys_sendmsg net/socket.c:2676 [inline] __se_sys_sendmsg net/socket.c:2674 [inline] __x64_sys_sendmsg+0x307/0x490 net/socket.c:2674 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x44/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Uninit was created at: slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768 slab_alloc_node mm/slub.c:3478 [inline] __kmem_cache_alloc_node+0x5c9/0x970 mm/slub.c:3517 __do_kmalloc_node mm/slab_common.c:1006 [inline] __kmalloc_node_track_caller+0x118/0x3c0 mm/slab_common.c:1027 kmalloc_reserve+0x249/0x4a0 net/core/skbuff.c:582 pskb_expand_head+0x226/0x1a00 net/core/skbuff.c:2098 __pskb_pull_tail+0x13b/0x2310 net/core/skbuff.c:2655 pskb_may_pull_reason include/linux/skbuff.h:2673 [inline] pskb_may_pull include/linux/skbuff.h:2681 [inline] ip6_tnl_parse_tlv_enc_lim+0x901/0xbb0 net/ipv6/ip6_tunnel.c:408 ipxip6_tnl_xmit net/ipv6/ip6_tunnel.c:1326 [inline] ip6_tnl_start_xmit+0xab2/0x1a70 net/ipv6/ip6_tunnel.c:1432 __netdev_start_xmit include/linux/netdevice.h:4940 [inline] netdev_start_xmit include/linux/netdevice.h:4954 [inline] xmit_one net/core/dev.c:3548 [inline] dev_hard_start_xmit+0x247/0xa10 net/core/dev.c:3564 __dev_queue_xmit+0x33b8/0x5130 net/core/dev.c:4349 dev_queue_xmit include/linux/netdevice.h:3134 [inline] neigh_connected_output+0x569/0x660 net/core/neighbour.c:1592 neigh_output include/net/neighbour.h:542 [inline] ip6_finish_output2+0x23a9/0x2b30 net/ipv6/ip6_output.c:137 ip6_finish_output+0x855/0x12b0 net/ipv6/ip6_output.c:222 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip6_output+0x323/0x610 net/ipv6/ip6_output.c:243 dst_output include/net/dst.h:451 [inline] ip6_local_out+0xe9/0x140 net/ipv6/output_core.c:155 ip6_send_skb net/ipv6/ip6_output.c:1952 [inline] ip6_push_pending_frames+0x1f9/0x560 net/ipv6/ip6_output.c:1972 rawv6_push_pending_frames+0xbe8/0xdf0 net/ipv6/raw.c:582 rawv6_sendmsg+0x2b66/0x2e70 net/ipv6/raw.c:920 inet_sendmsg+0x105/0x190 net/ipv4/af_inet.c:847 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2584 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2638 __sys_sendmsg net/socket.c:2667 [inline] __do_sys_sendms ---truncated---

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 3.10.106v ≥ 3.12.71v ≥ 3.16.42v ≥ 3.18.49v ≥ 3.2.87v ≥ 4.4.50v ≥ 4.9.113.10.106 ≤ v < 3.113.12.71 ≤ v < 3.133.16.42 ≤ v < 3.173.18.49 ≤ v < 3.193.2.87 ≤ v < 3.34.10 ≤ v < 4.19.3064.10 ≤ v < 5.10.2094.10 ≤ v < 5.15.1484.10 ≤ v < 5.4.2684.10 ≤ v < 6.1.754.10 ≤ v < 6.6.144.10 ≤ v < 6.7.24.10 ≤ v < 6.84.20 ≤ v < 5.4.2684.4.50 ≤ v < 4.54.9.11 ≤ v < 4.105.11 ≤ v < 5.15.1485.16 ≤ v < 6.1.755.5 ≤ v < 5.10.2096.2 ≤ v < 6.6.146.7 ≤ v < 6.7.23.10.1063.12.713.16.423.18.493.2.874.104.4.504.9.1141e07a7e01d951cfd4c9a7dac90c921269d8951372bbf335e7aad09c88c50dbdd238f4faabd12174a6f6bb6bc04a5f88a31f47a6123d3fbf5ee8d694a7fe4e5d06338e1a82b1977eca37400951f99730d397f7035d2c754781bbe93b07b94d8cd898620cd3d9b59ab32160e3cc4edcf7e5fa7cecb53a7d25decccc92ee0a978a1c268b5df16824cb6384ed3cfbfa743a9d2a0ffa24251764f10afc13eb21e739
Vendor states this is fixed in 135414f300c5db995e2a2f3bf0f455de9d014aee (fixed)
Vendor states this is fixed in 3f15ba3dc14e6ee002ea01b4faddc3d49200377c (fixed)
Vendor states this is fixed in 4329426cf6b8e22b798db2331c7ef1dd2a9c748d (fixed)
Vendor states this is fixed in 62a1fedeb14c7ac0947ef33fadbabd35ed2400a2 (fixed)
Vendor states this is fixed in 687c5d52fe53e602e76826dbd4d7af412747e183 (fixed)
Vendor states this is fixed in ba8d904c274268b18ef3dc11d3ca7b24a96cb087 (fixed)
Vendor states this is fixed in d375b98e0248980681e5e56b712026174d617198 (fixed)
Vendor states this is fixed in da23bd709b46168f7dfc36055801011222b076cd (fixed)
Affected range stops below 3.11, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.13, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.17, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.19, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.3, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.10 (unaffected)
Vendor states this is fixed in 4.19.306 (unaffected)
Affected range stops below 4.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.209 (unaffected)
Vendor states this is fixed in 5.15.148 (unaffected)
Vendor states this is fixed in 5.4.268 (unaffected)
Vendor states this is fixed in 6.1.75 (unaffected)
Vendor states this is fixed in 6.6.14 (unaffected)
Vendor states this is fixed in 6.7.2 (unaffected)
Vendor states this is fixed in 6.8 (unaffected)
All versions
netapp-9500 (same device)
All versions
netapp-a150 (same device)
All versions
netapp-a1k (same device)
All versions
netapp-a220 (same device)
All versions
netapp-a70 (same device)
All versions
netapp-a800 (same device)
All versions
netapp-a90 (same device)
All versions
netapp-a900 (same device)

References (11)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/135414f300c5db995e2a2f3bf0f455de9d014aee
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3f15ba3dc14e6ee002ea01b4faddc3d49200377c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/4329426cf6b8e22b798db2331c7ef1dd2a9c748d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/62a1fedeb14c7ac0947ef33fadbabd35ed2400a2
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/687c5d52fe53e602e76826dbd4d7af412747e183
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ba8d904c274268b18ef3dc11d3ca7b24a96cb087
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d375b98e0248980681e5e56b712026174d617198
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/da23bd709b46168f7dfc36055801011222b076cd

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

5.5MEDIUMCISA-ADP
Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card