CVE-2026-74256
bpf, sockmap: fix integer overflow in bpf_msg_pop_data() bounds check
Description
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.
INFO
Published Date :
Aug. 15, 2026, 6:22 a.m.
Last Modified :
Aug. 17, 2026, 6:19 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | HIGH | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
Solution
- Widen the addition with a (u64) cast.
- Change pop from int to u32.
- Update the Linux kernel to the latest version.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-74256.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-74256 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-74256
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-74256 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-74256 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '9ef44ed6fb0c1db01cfcc3de432a33e719713eb5', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'd693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'ba5cc05dae8fce237d191c7ea96b1107a791e548', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'c05a0ec1cdced622a1a0c7d85679fe02f31033ec', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '17eb9832a10db2f7a80cb429ca2bc5038445a943', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'fe09dd288722f1c749b7506c0b3e7841a7d85027', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'e09f7bd7273928b4089e6b71f8e992f2b356ca1b', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'a48802fb2cd2d1e23651989f8ff4d15e9d5dad54', 'versionType': 'git'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.0'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.0', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '9ef44ed6fb0c1db01cfcc3de432a33e719713eb5', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'd693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'ba5cc05dae8fce237d191c7ea96b1107a791e548', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'c05a0ec1cdced622a1a0c7d85679fe02f31033ec', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '17eb9832a10db2f7a80cb429ca2bc5038445a943', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'fe09dd288722f1c749b7506c0b3e7841a7d85027', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'e09f7bd7273928b4089e6b71f8e992f2b356ca1b', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'a48802fb2cd2d1e23651989f8ff4d15e9d5dad54', 'versionType': 'git'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.0'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.0', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 15, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '9ef44ed6fb0c1db01cfcc3de432a33e719713eb5', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'd693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'ba5cc05dae8fce237d191c7ea96b1107a791e548', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'c05a0ec1cdced622a1a0c7d85679fe02f31033ec', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': '17eb9832a10db2f7a80cb429ca2bc5038445a943', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'fe09dd288722f1c749b7506c0b3e7841a7d85027', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'e09f7bd7273928b4089e6b71f8e992f2b356ca1b', 'versionType': 'git'}, {'status': 'affected', 'version': '7246d8ed4dcce23f7509949a77be15fa9f0e3d28', 'lessThan': 'a48802fb2cd2d1e23651989f8ff4d15e9d5dad54', 'versionType': 'git'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.0'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.0', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/core/filter.c'], 'defaultStatus': 'affected'}] Added Description 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. Added Reference https://git.kernel.org/stable/c/17eb9832a10db2f7a80cb429ca2bc5038445a943 Added Reference https://git.kernel.org/stable/c/9ef44ed6fb0c1db01cfcc3de432a33e719713eb5 Added Reference https://git.kernel.org/stable/c/a48802fb2cd2d1e23651989f8ff4d15e9d5dad54 Added Reference https://git.kernel.org/stable/c/ba5cc05dae8fce237d191c7ea96b1107a791e548 Added Reference https://git.kernel.org/stable/c/c05a0ec1cdced622a1a0c7d85679fe02f31033ec Added Reference https://git.kernel.org/stable/c/d693c5ed67dabe1ccbf8dcea93075bdc9ffd4ca0 Added Reference https://git.kernel.org/stable/c/e09f7bd7273928b4089e6b71f8e992f2b356ca1b Added Reference https://git.kernel.org/stable/c/fe09dd288722f1c749b7506c0b3e7841a7d85027