Skip to main content

Linux Kernel EUVDEUVD-2026-49599

| CVE-2026-64548 HIGH
2026-07-27 Linux GHSA-v3w7-wgcw-wjf2
8.4
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
8.4 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local BPF-loading needed so AV:L and PR:L (CAP_BPF/CAP_NET_ADMIN, often via user namespaces) not PR:N; deterministic overflow gives AC:L; kernel heap OOB write yields full C/I/A impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 30, 2026 - 06:51 vuln.today
CVSS changed
Jul 30, 2026 - 06:37 NVD
8.4 (HIGH)
Patch available
Jul 27, 2026 - 21:17 EUVD
CVE Published
Jul 27, 2026 - 20:10 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 27, 2026 - 20:10 cve.org
HIGH 8.4

DescriptionCVE.org

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

bpf, sockmap: reject overflowing copy + len in bpf_msg_push_data()

When the scatterlist ring is full or nearly full, bpf_msg_push_data() enters a copy fallback path and computes copy + len for the page allocation size. Since len comes from BPF with arg3_type = ARG_ANYTHING and both are u32, a crafted len can wrap the sum to a small value, causing an undersized allocation followed by an out-of-bounds memcpy.

BUG: unable to handle page fault for address: ffffed104089a402 Oops: Oops: 0000 [#1] SMP KASAN NOPTI Call Trace: __asan_memcpy (mm/kasan/shadow.c:105) bpf_msg_push_data (net/core/filter.c:2852 net/core/filter.c:2788) bpf_prog_9ed8b5711920a7d7+0x2e/0x36 sk_psock_msg_verdict (net/core/skmsg.c:934) tcp_bpf_sendmsg (net/ipv4/tcp_bpf.c:421 net/ipv4/tcp_bpf.c:584) __sys_sendto (net/socket.c:2206) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)

Add an overflow check before the allocation.

AnalysisAI

Kernel memory corruption in the Linux kernel's BPF sockmap subsystem allows a local actor able to load a BPF sk_msg program to trigger an out-of-bounds write via an integer overflow in bpf_msg_push_data(). A crafted u32 'len' argument (typed ARG_ANYTHING) wraps the 'copy + len' page-allocation size to a small value, producing an undersized allocation followed by an oversized memcpy that corrupts kernel heap memory, enabling denial of service and potential privilege escalation. There is no public exploit identified at time of analysis and the EPSS score is low (0.18%), but the flaw is confirmed and patched upstream by kernel maintainers.

Technical ContextAI

The bug lives in net/core/filter.c in the BPF sockmap/sk_msg data path, which lets eBPF programs rewrite socket message payloads inline during tcp_bpf_sendmsg(). bpf_msg_push_data() inserts bytes into a scatterlist (sg) ring backing an sk_msg; when the ring is full or nearly full it falls back to allocating a new page sized as 'copy + len'. Because 'len' is attacker-controlled from BPF (arg3_type = ARG_ANYTHING, so the verifier does not constrain its value) and both operands are 32-bit unsigned, the addition can wrap around, defeating the implicit size assumption. This is a classic CWE-190 integer overflow that leads to a CWE-787 out-of-bounds write: the undersized allocation is followed by a memcpy sized off the wrapped value, which the reporter observed as a KASAN-detected page fault inside __asan_memcpy. The CWE field is reported as N/A in the source data, so the CWE classification here is inferred from the description and the 'Buffer Overflow' tag.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5, or mainline 7.2-rc1 or later - matching your kernel series; the fix adds an explicit overflow check before the page allocation in bpf_msg_push_data(). The stable commits are at https://git.kernel.org/stable/c/db77b6bb6e6edb79b10b4efcce346eec5582d588, https://git.kernel.org/stable/c/ff39d0e3b4feeb65ca43c453d7c75fdf872ded0d, and companions (f1644c95, a12b1575, 4e40056b, bd004716, 0c0a8ed8, 888706a7); apply your distribution's corresponding kernel update rather than cherry-picking where possible. If immediate patching is not feasible, reduce exposure by restricting who can load BPF programs: set kernel.unprivileged_bpf_disabled=1 to block unprivileged eBPF, and disable unprivileged user namespaces (user.max_user_namespaces=0 or kernel.unprivileged_userns_clone=0) to prevent capability acquisition - the trade-off is breaking container runtimes and sandboxes that rely on user namespaces or unprivileged BPF. On hosts that do not need sockmap-based traffic steering, avoid loading BPF_PROG_TYPE_SK_MSG programs; the side effect is loss of any sockmap-based redirection/observability tooling.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-49599 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy