CVE-2026-74256

Source
https://cve.org/CVERecord?id=CVE-2026-74256
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74256.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-74256
Downstream
Published
2026-08-15T05:57:34.956Z
Modified
2026-08-18T03:56:45.079882624Z
Severity
  • 8.4 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check
Details

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

bpf, sockmap: fix integer overflow in bpfmsgpop_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 skmsgshiftleft() calls putpage() 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:skmsgshift_left net/core/filter.c:2957 [inline] RIP: 0010:____bpfmsgpopdata net/core/filter.c:3103 [inline] RIP: 0010:bpfmsgpopdata+0x753/0x1a10 net/core/filter.c:2984 Call Trace: <TASK> bpfprog4cc92c278f4d5d56+0x1b1/0x1e8 bpfprogrunpinoncpu+0x107/0x320 include/linux/filter.h:746 skpsockmsgverdict+0x357/0x7f0 net/core/skmsg.c:934 tcpbpfsendverdict net/ipv4/tcpbpf.c:420 [inline] tcpbpfsendmsg+0x766/0x1ae0 net/ipv4/tcp_bpf.c:583 __sock_sendmsg+0x153/0x1c0 net/socket.c:802 __sys_sendto+0x326/0x430 net/socket.c:2265 __x64syssendto+0xe3/0x100 net/socket.c:2268 dosyscall64+0x14c/0x480 entrySYSCALL64afterhwframe+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.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74256.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
7246d8ed4dcce23f7509949a77be15fa9f0e3d28
Fixed
9ef44ed6fb0c1db01cfcc3de432a33e719713eb5
Fixed
d693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0
Fixed
ba5cc05dae8fce237d191c7ea96b1107a791e548
Fixed
c05a0ec1cdced622a1a0c7d85679fe02f31033ec
Fixed
17eb9832a10db2f7a80cb429ca2bc5038445a943
Fixed
fe09dd288722f1c749b7506c0b3e7841a7d85027
Fixed
e09f7bd7273928b4089e6b71f8e992f2b356ca1b
Fixed
a48802fb2cd2d1e23651989f8ff4d15e9d5dad54

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74256.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.0.0
Fixed
5.10.261
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.212
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.178
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.145
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.97
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.40
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.5

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74256.json"