8.4

CVE-2026-74256

bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check

In the Linux kernel, the following vulnerability has been resolved:

bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check

start and len are u32, so

	u64 last = start + len;

evaluates start + len in 32-bit and wraps before storing it in last.
The bounds check

	if (start >= offset + l || last > msg->sg.size)
		return -EINVAL;

can then be passed with an out-of-range start/len, after which the pop
loop runs off the end of the scatterlist and sk_msg_shift_left() calls
put_page() on the empty msg->sg.end slot:

  Oops: general protection fault, probably for non-canonical address
  0xdffffc0000000001: 0000 [#1] SMP KASAN PTI
  KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
  RIP: 0010:sk_msg_shift_left net/core/filter.c:2957 [inline]
  RIP: 0010:____bpf_msg_pop_data net/core/filter.c:3103 [inline]
  RIP: 0010:bpf_msg_pop_data+0x753/0x1a10 net/core/filter.c:2984
  Call Trace:
   <TASK>
   bpf_prog_4cc92c278f4d5d56+0x1b1/0x1e8
   bpf_prog_run_pin_on_cpu+0x107/0x320 include/linux/filter.h:746
   sk_psock_msg_verdict+0x357/0x7f0 net/core/skmsg.c:934
   tcp_bpf_send_verdict net/ipv4/tcp_bpf.c:420 [inline]
   tcp_bpf_sendmsg+0x766/0x1ae0 net/ipv4/tcp_bpf.c:583
   __sock_sendmsg+0x153/0x1c0 net/socket.c:802
   __sys_sendto+0x326/0x430 net/socket.c:2265
   __x64_sys_sendto+0xe3/0x100 net/socket.c:2268
   do_syscall_64+0x14c/0x480
   entry_SYSCALL_64_after_hwframe+0x77/0x7f
   </TASK>

Widen the addition with a (u64) cast so the bound is evaluated in
64-bit and a len near U32_MAX no longer wraps below msg->sg.size.

While here, change pop from int to u32. It counts bytes against the
unsigned scatterlist lengths and can never be negative, so the signed
type only invites sign-confusion in the pop loop.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < 9ef44ed6fb0c1db01cfcc3de432a33e719713eb5
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < d693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < ba5cc05dae8fce237d191c7ea96b1107a791e548
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < c05a0ec1cdced622a1a0c7d85679fe02f31033ec
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < 17eb9832a10db2f7a80cb429ca2bc5038445a943
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < fe09dd288722f1c749b7506c0b3e7841a7d85027
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < e09f7bd7273928b4089e6b71f8e992f2b356ca1b
Status affected
Version 7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Version < a48802fb2cd2d1e23651989f8ff4d15e9d5dad54
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 5.0
Status affected
Version 0
Version < 5.0
Status unaffected
Version <= 5.10.*
Version 5.10.261
Status unaffected
Version <= 5.15.*
Version 5.15.212
Status unaffected
Version <= 6.1.*
Version 6.1.178
Status unaffected
Version <= 6.6.*
Version 6.6.145
Status unaffected
Version <= 6.12.*
Version 6.12.97
Status unaffected
Version <= 6.18.*
Version 6.18.40
Status unaffected
Version <= 7.1.*
Version 7.1.5
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.18% 0.081
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 8.4 2.5 5.9
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/9ef44ed6fb0c1db01cfcc3de432a33e719713eb5
https://git.kernel.org/stable/c/d693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0
https://git.kernel.org/stable/c/ba5cc05dae8fce237d191c7ea96b1107a791e548
https://git.kernel.org/stable/c/c05a0ec1cdced622a1a0c7d85679fe02f31033ec
https://git.kernel.org/stable/c/17eb9832a10db2f7a80cb429ca2bc5038445a943
https://git.kernel.org/stable/c/fe09dd288722f1c749b7506c0b3e7841a7d85027
https://git.kernel.org/stable/c/e09f7bd7273928b4089e6b71f8e992f2b356ca1b
https://git.kernel.org/stable/c/a48802fb2cd2d1e23651989f8ff4d15e9d5dad54