{"id":"CVE-2024-26665","state":"PUBLISHED","title":"tunnels: fix out of bounds access when building IPv6 PMTU error","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ntunnels: fix out of bounds access when building IPv6 PMTU error\n\nIf the ICMPv6 error is built from a non-linear skb we get the following\nsplat,\n\n  BUG: KASAN: slab-out-of-bounds in do_csum+0x220/0x240\n  Read of size 4 at addr ffff88811d402c80 by task netperf/820\n  CPU: 0 PID: 820 Comm: netperf Not tainted 6.8.0-rc1+ #543\n  ...\n   kasan_report+0xd8/0x110\n   do_csum+0x220/0x240\n   csum_partial+0xc/0x20\n   skb_tunnel_check_pmtu+0xeb9/0x3280\n   vxlan_xmit_one+0x14c2/0x4080\n   vxlan_xmit+0xf61/0x5c00\n   dev_hard_start_xmit+0xfb/0x510\n   __dev_queue_xmit+0x7cd/0x32a0\n   br_dev_queue_push_xmit+0x39d/0x6a0\n\nUse skb_checksum instead of csum_partial who cannot deal with non-linear\nSKBs.","publishedAt":"2024-04-02T06:22:14.264Z","updatedAt":"2026-08-05T11:26:39.967Z","severity":{"score":9.1,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"e77bf828f1ca1c47fcff58bdc26b60a9d3dfbe1d","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"d964dd1bc1452594b4207d9229c157d9386e5d8a","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"e37cde7a5716466ff2a76f7f27f0a29b05b9a732","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"510c869ffa4068c5f19ff4df51d1e2f3a30aaac1","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"7dc9feb8b1705cf00de20563b6bc4831f4c99dab","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"d75abeec401f8c86b470e7028a13fcdc87e5dd06","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/ip_tunnel_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.9","versionType":"semver"},{"version":"5.10.210","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.149","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.78","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.17","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.5","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/ip_tunnel_core.c"]}],"references":["https://git.kernel.org/stable/c/e77bf828f1ca1c47fcff58bdc26b60a9d3dfbe1d","https://git.kernel.org/stable/c/d964dd1bc1452594b4207d9229c157d9386e5d8a","https://git.kernel.org/stable/c/e37cde7a5716466ff2a76f7f27f0a29b05b9a732","https://git.kernel.org/stable/c/510c869ffa4068c5f19ff4df51d1e2f3a30aaac1","https://git.kernel.org/stable/c/7dc9feb8b1705cf00de20563b6bc4831f4c99dab","https://git.kernel.org/stable/c/d75abeec401f8c86b470e7028a13fcdc87e5dd06","https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:10.607Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/26xxx/CVE-2024-26665.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-26665","state":"PUBLISHED","datePublished":"2024-04-02T06:22:14.264Z","dateUpdated":"2026-08-05T11:26:39.967Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-02-19T14:20:24.149Z"},"containers":{"cna":{"title":"tunnels: fix out of bounds access when building IPv6 PMTU error","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ntunnels: fix out of bounds access when building IPv6 PMTU error\n\nIf the ICMPv6 error is built from a non-linear skb we get the following\nsplat,\n\n  BUG: KASAN: slab-out-of-bounds in do_csum+0x220/0x240\n  Read of size 4 at addr ffff88811d402c80 by task netperf/820\n  CPU: 0 PID: 820 Comm: netperf Not tainted 6.8.0-rc1+ #543\n  ...\n   kasan_report+0xd8/0x110\n   do_csum+0x220/0x240\n   csum_partial+0xc/0x20\n   skb_tunnel_check_pmtu+0xeb9/0x3280\n   vxlan_xmit_one+0x14c2/0x4080\n   vxlan_xmit+0xf61/0x5c00\n   dev_hard_start_xmit+0xfb/0x510\n   __dev_queue_xmit+0x7cd/0x32a0\n   br_dev_queue_push_xmit+0x39d/0x6a0\n\nUse skb_checksum instead of csum_partial who cannot deal with non-linear\nSKBs."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"e77bf828f1ca1c47fcff58bdc26b60a9d3dfbe1d","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"d964dd1bc1452594b4207d9229c157d9386e5d8a","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"e37cde7a5716466ff2a76f7f27f0a29b05b9a732","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"510c869ffa4068c5f19ff4df51d1e2f3a30aaac1","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"7dc9feb8b1705cf00de20563b6bc4831f4c99dab","versionType":"git"},{"version":"4cb47a8644cc9eb8ec81190a50e79e6530d0297f","status":"affected","lessThan":"d75abeec401f8c86b470e7028a13fcdc87e5dd06","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/ip_tunnel_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.9","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.9","versionType":"semver"},{"version":"5.10.210","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.149","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.78","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.17","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7.5","status":"unaffected","lessThanOrEqual":"6.7.*","versionType":"semver"},{"version":"6.8","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/ip_tunnel_core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/e77bf828f1ca1c47fcff58bdc26b60a9d3dfbe1d"},{"url":"https://git.kernel.org/stable/c/d964dd1bc1452594b4207d9229c157d9386e5d8a"},{"url":"https://git.kernel.org/stable/c/e37cde7a5716466ff2a76f7f27f0a29b05b9a732"},{"url":"https://git.kernel.org/stable/c/510c869ffa4068c5f19ff4df51d1e2f3a30aaac1"},{"url":"https://git.kernel.org/stable/c/7dc9feb8b1705cf00de20563b6bc4831f4c99dab"},{"url":"https://git.kernel.org/stable/c/d75abeec401f8c86b470e7028a13fcdc87e5dd06"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H","baseScore":9.1,"baseSeverity":"CRITICAL"},"scenarios":[{"lang":"en","value":"AV:N - The overread is triggered by an ordinary over-MTU IPv6 packet forwarded out a VXLAN/Geneve device enslaved to a bridge or OVS port, a standard cloud/container overlay topology. The L3 source address is unconstrained (only unspecified/multicast/loopback sources are filtered), so an off-link remote sender whose packet is routed to a workload behind the overlay reaches the vulnerable code.\nAC:L - The attacker only needs to send an IPv6 packet larger than the tunnel's inner MTU; non-linear skbs are the normal case for large frames under GRO, header-split NICs, and virtio-net mergeable buffers, and the reporter reproduced it with plain netperf traffic. No memory-layout luck or attacker-uncontrollable state is required.\nPR:N - There is no capability check, authentication, or credential gate anywhere on the receive-and-bridge-to-tunnel path — the packet is simply forwarded and the ICMPv6 error is built. The attacker needs no account or privileges on the affected host.\nUI:N - Exploitation is entirely packet-driven and happens inside softirq/xmit context with no victim participation. No administrator or user action is needed once the standard bridged-tunnel configuration is in place.\nS:U - The out-of-bounds read and its consequences are confined to the host kernel that contains the defective checksum call. The vulnerable and impacted components are the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - csum_partial() reads a fixed 1240 bytes from a linear buffer that may hold only tens of bytes, overreading up to roughly a kilobyte of adjacent kernel slab memory — far beyond a \"few bytes.\" Worse, the folded result is placed in the ICMPv6 checksum field and transmitted back to the attacker, yielding a repeatable oracle over kernel heap contents that heap grooming can turn into a real disclosure.\nI:N - The defect is a read-only overrun; no kernel memory is written, no bounds are exceeded on a store, and there is no type confusion or control-flow influence. The only consequence for state is an incorrect checksum on an outgoing packet, which the receiver discards.\nA:H - Reading up to ~1KB past the end of a slab allocation can walk off the backing pages into unmapped memory, faulting in softirq context and oopsing the kernel. On KASAN or panic_on_oops/hardened kernels the access panics the machine outright, and the attacker can repeat it at will with a stream of oversized packets."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T11:26:39.967Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.10.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.15.149"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.1.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.6.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.7.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"6.8"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/e77bf828f1ca1c47fcff58bdc26b60a9d3dfbe1d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d964dd1bc1452594b4207d9229c157d9386e5d8a","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/e37cde7a5716466ff2a76f7f27f0a29b05b9a732","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/510c869ffa4068c5f19ff4df51d1e2f3a30aaac1","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/7dc9feb8b1705cf00de20563b6bc4831f4c99dab","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/d75abeec401f8c86b470e7028a13fcdc87e5dd06","tags":["x_transferred"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T00:14:12.889Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-26665","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-09-10T15:53:43.558193Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-09-11T17:33:39.284Z"}}]}}}