CVE-2026-23140
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Feb 14, 2026
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel's packet testing code could let a local user cause the system to become unstable or crash.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits userspace to supply an XDP metadata size exceeding available headroom after accounting for the xdp_frame structure in bpf_test_run, causing xdp_update_frame_from_buff to fail and subsequent packet transmission to proceed with an uninitialized frame in live mode.
Why it matters to the business
Linux systems using BPF/XDP testing functionality may encounter kernel instability or crashes during packet operations, potentially disrupting network services; low urgency given minimal EPSS and absence from known exploitation lists.
How an attack unfolds
A local attacker invokes the BPF test run interface with an oversized metadata buffer in live packet mode; the missing size constraint allows the uninitialized frame to be used during transmission, resulting in memory corruption or denial of service.
How to fix it
Upgrade the Linux kernel to a version containing commit e7440935063949d6f2c10f7328d960d0ff4bce90 in the stable repository.
How to confirm the fix worked
Verify the presence of commit e7440935063949d6f2c10f7328d960d0ff4bce90 in the running kernel source; confirm metadata size checks now account for xdp_frame and retest BPF XDP live mode scenarios.
Typical attack path
- Gain local user access on an affected Linux system
- Craft a BPF test run request supplying metadata larger than permitted headroom
- Invoke the request in live packet mode to reach xdp_test_run_init_page
- Trigger transmission after the failed frame update to exploit the uninitialized structure
How to detect it
Review kernel logs for XDP frame initialization failures or warnings from bpf_test_run; correlate with unusual local BPF test invocations from untrusted processes.
What your security team should do
- Apply the upstream kernel fix or distribution update containing the referenced commit
- Limit unprivileged BPF program loading via sysctl or capabilities where feasible
- Monitor kernel mailing lists and stable updates for related backports
The record
In the Linux kernel, the following vulnerability has been resolved: bpf, test_run: Subtract size of xdp_frame from allowed metadata size The xdp_frame structure takes up part of the XDP frame headroom, limiting the size of the metadata. However, in bpf_test_run, we don't take this into account, which makes it possible for userspace to supply a metadata size that is too large (taking up the entire headroom). If userspace supplies such a large metadata size in live packet mode, the xdp_update_frame_from_buff() call in xdp_test_run_init_page() call will fail, after which packet transmission proceeds with an uninitialised frame structure, leading to the usual Bad Stuff. The commit in the Fixes tag fixed a related bug where the second check in xdp_update_frame_from_buff() could fail, but did not add any additional constraints on the metadata size. Complete the fix by adding an additional check on the metadata size. Reorder the checks slightly to make the logic clearer and add a comment.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Linux | Kernel | 5.18.0 | 6.1.161 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-azure | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.27.1.160000.2.8 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.28.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.28.1 |
Related vulnerabilities
- CVE-2026-23226 In the Linux kernel, the following vulnerability has been resolved: ksmbd: add chann_lock… Also affects Kernel
- CVE-2026-23225 In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Don't… Also affects Kernel
- CVE-2026-23230 In the Linux kernel, the following vulnerability has been resolved: smb: client: split… Also affects Kernel
- CVE-2026-23224 In the Linux kernel, the following vulnerability has been resolved: erofs: fix UAF issue… Also affects Kernel
- CVE-2026-23227 In the Linux kernel, the following vulnerability has been resolved: drm/exynos: vidi: use… Also affects Kernel
- CVE-2026-23223 In the Linux kernel, the following vulnerability has been resolved: xfs: fix UAF in… Also affects Kernel
- CVE-2026-23228 In the Linux kernel, the following vulnerability has been resolved: smb: server: fix leak… Also affects Kernel
- CVE-2026-23229 In the Linux kernel, the following vulnerability has been resolved: crypto: virtio - Add… Also affects Kernel