Skip to main content

Linux Kernel CVE-2025-40159

HIGH
2025-11-12 416baaa9-dc9f-4396-8d5f-8c081fb06d67
High
Disputed · 7.8 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Low–High)
Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local AF_XDP socket access with low privileges (typically CAP_NET_RAW) and no user interaction; kernel memory corruption yields high C/I/A with unchanged scope.

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
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

7
Analysis Updated
Jul 30, 2026 - 08:55 vuln.today
v3 (cvss_changed)
Analysis Updated
Jul 30, 2026 - 08:54 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.8 (HIGH)
Patch released
Mar 28, 2026 - 19:31 nvd
Patch available
Analysis Generated
Mar 28, 2026 - 19:21 vuln.today
CVE Published
Nov 12, 2025 - 11:15 nvd
N/A

DescriptionCVE.org

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

xsk: Harden userspace-supplied xdp_desc validation

Turned out certain clearly invalid values passed in xdp_desc from userspace can pass xp_{,un}aligned_validate_desc() and then lead to UBs or just invalid frames to be queued for xmit.

desc->len close to `U32_MAX` with a non-zero pool->tx_metadata_len can cause positive integer overflow and wraparound, the same way low enough desc->addr with a non-zero pool->tx_metadata_len can cause negative integer overflow. Both scenarios can then pass the validation successfully. This doesn't happen with valid XSk applications, but can be used to perform attacks.

Always promote desc->len to `u64 first to exclude positive overflows of it. Use explicit check_{add,sub}_overflow() when validating desc->addr (which is u64` already).

bloat-o-meter reports a little growth of the code size:

add/remove: 0/0 grow/shrink: 2/1 up/down: 60/-16 (44) Function old new delta xskq_cons_peek_desc 299 330 +31 xsk_tx_peek_release_desc_batch 973 1002 +29 xsk_generic_xmit 3148 3132 -16

but hopefully this doesn't hurt the performance much.

AnalysisAI

Local privilege-adjacent memory corruption in the Linux kernel's AF_XDP (XSK) transmit path allows a local user with access to an XDP socket to bypass descriptor validation via integer overflow, queuing malformed frames and triggering undefined behavior. The flaw stems from unchecked arithmetic in xp_aligned_validate_desc()/xp_unaligned_validate_desc() when a non-zero tx_metadata_len is combined with a crafted xdp_desc, and carries a CVSS of 7.8. EPSS is very low (0.03%) and there is no public exploit identified at time of analysis; it is not listed in CISA KEV.

Technical ContextAI

AF_XDP (XSK) is the kernel's high-performance zero-copy packet I/O framework in which userspace shares a UMEM memory region and passes transmit descriptors (struct xdp_desc: a u64 addr and u32 len) directly to the kernel via a ring. Before a descriptor is handed to the driver, the kernel validates it with xp_aligned_validate_desc()/xp_unaligned_validate_desc(). The root cause is a classic integer overflow (aligning with the 'Buffer Overflow' tag; NVD lists CWE as N/A): desc->len is a 32-bit value, and when combined with pool->tx_metadata_len the addition could wrap (positive overflow near U32_MAX), while a sufficiently low desc->addr with non-zero tx_metadata_len could wrap the u64 subtraction (negative overflow). Both wraparounds let out-of-bounds descriptors pass validation. The fix promotes desc->len to u64 before arithmetic and uses explicit check_add_overflow()/check_sub_overflow() when validating desc->addr.

Affected ProductsAI

The Linux kernel's XSK/AF_XDP subsystem (net/xdp) is affected across versions that include tx_metadata_len handling in the descriptor validation path; NVD did not publish specific CPE version ranges in the provided data, and the fix is tracked via three stable-tree commits (07ca98f906a4, 1463cd066f32, 5b5fffa7c81e at git.kernel.org). Distribution-specific fixed builds are enumerated in Ubuntu's advisories USN-8125-1 (https://ubuntu.com/security/notices/USN-8125-1) and USN-8126-1 (https://ubuntu.com/security/notices/USN-8126-1). Administrators should map their running kernel version against their distribution's advisory rather than relying on a single upstream version number, since backports vary by stable branch.

RemediationAI

Patch available per vendor advisory: apply the stable-tree fix delivered in the three kernel commits (git.kernel.org/stable/c/07ca98f906a403637fc5e513a872a50ef1247f3b and the two sibling commits) by upgrading to your distribution's patched kernel - Ubuntu users should install the fixed kernel packages named in USN-8125-1 and USN-8126-1 and reboot. If immediate patching is not possible, the practical compensating control is to restrict who can create AF_XDP sockets: ensure unprivileged users do not hold CAP_NET_RAW, and where feasible block AF_XDP socket creation via seccomp/LSM policy or drop the capability from containers and untrusted workloads (trade-off: this breaks legitimate high-performance XDP/DPDK-style applications relying on AF_XDP). There is no need to disable networking broadly; the exposure is limited to the XSK transmit path, so isolating untrusted local users from AF_XDP is the targeted mitigation until the kernel is updated.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
Container suse/hpc/warewulf4-x86_64/sle-hpc-node:latest Image SLES15-SP6 Image SLES15-SP6-BYOS Image SLES15-SP6-BYOS-Azure Image SLES15-SP6-BYOS-EC2 Image SLES15-SP6-BYOS-GCE Image SLES15-SP6-CHOST-BYOS Image SLES15-SP6-CHOST-BYOS-Aliyun Image SLES15-SP6-CHOST-BYOS-Azure Image SLES15-SP6-CHOST-BYOS-EC2 Image SLES15-SP6-CHOST-BYOS-GCE Image SLES15-SP6-CHOST-BYOS-GDC Image SLES15-SP6-CHOST-BYOS-SAP-CCloud Image SLES15-SP6-EC2 Image SLES15-SP6-EC2-ECS-HVM Image SLES15-SP6-GCE Image SLES15-SP6-HPC-BYOS Image SLES15-SP6-HPC-BYOS-Azure Image SLES15-SP6-HPC-BYOS-EC2 Image SLES15-SP6-HPC-BYOS-GCE Image SLES15-SP6-HPC-EC2 Image SLES15-SP6-HPC-GCE Image SLES15-SP6-Hardened-BYOS Image SLES15-SP6-Hardened-BYOS-Azure Image SLES15-SP6-Hardened-BYOS-EC2 Image SLES15-SP6-Hardened-BYOS-GCE Image SLES15-SP6-SAP Image SLES15-SP6-SAP-Azure Image SLES15-SP6-SAP-EC2 Image SLES15-SP6-SAP-GCE Image SLES15-SP6-SAPCAL Image SLES15-SP6-SAPCAL-Azure Image SLES15-SP6-SAPCAL-EC2 Image SLES15-SP6-SAPCAL-GCE Affected
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.1/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.80 Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.114 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.82 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.116 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.55 Affected

Share

CVE-2025-40159 vulnerability details – vuln.today

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