CVE-2026-68399
High · 7.8CVSS
7.8
EPSS
0.1%
Published
Aug 10, 2026
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's handling of certain network-related data structures could let a local user damage memory and potentially take over the whole machine.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in the Linux kernel BPF socket storage handling during sk_clone() early bailouts: sock_copy() performs a shallow copy of sk_bpf_storage, and if the clone fails before bpf_sk_storage_clone() runs, freeing the child socket destroys the parent's BPF storage.
Why it matters to the business
Local attackers on affected Linux systems can achieve memory corruption that may lead to privilege escalation or denial of service, potentially compromising host integrity and requiring urgent kernel updates across server and container fleets.
How an attack unfolds
An attacker with local access crafts a scenario that triggers socket cloning (for example via certain network or BPF operations) while forcing an early bailout in sk_clone() before storage is properly duplicated; the subsequent free of the child socket then releases the parent's live BPF storage, enabling use-after-free exploitation for memory corruption.
How to fix it
Update to a Linux kernel containing commit 9b51a6155d14 and the follow-on fix for CVE-2026-68399; rebuild and reboot all affected systems or containers. Where immediate patching is not feasible, restrict untrusted local code execution and BPF privileges via seccomp, LSM policies, or user namespaces.
How to confirm the fix worked
Confirm the running kernel includes the referenced commit or a backport that resets newsk->sk_bpf_storage to NULL immediately after sock_copy() in sk_clone(); inspect kernel source or changelog for the exact change and verify via kernel version strings or module build IDs.
Typical attack path
- Obtain local code execution on a vulnerable Linux host
- Trigger BPF socket storage allocation on a parent socket
- Force sk_clone() path that performs shallow copy but hits early bailout (e.g., filter charge failure)
- Cause sk_free() on the incomplete child socket to invoke bpf_sk_storage_free() on the still-live parent storage
- Leverage the resulting UAF for memory corruption or information leak to escalate privileges
How to detect it
Monitor kernel logs for oops/panic messages referencing bpf_sk_storage_free or sk_clone during socket operations; inspect audit logs for unusual BPF or socket creation patterns by unprivileged processes; examine crash dumps for UAF signatures involving sk_bpf_storage pointers.
What your security team should do
- Prioritize kernel upgrades on all multi-tenant or externally reachable Linux hosts within the next maintenance window
- Audit systems for custom BPF programs that manipulate socket storage and test the updated kernel under representative workloads
- Apply least-privilege controls around BPF and unprivileged user namespaces until patches are deployed
The record
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix UAF in sock clone early bailouts Similar to recent commit 9b51a6155d14 ("bpf,fork: wipe ->bpf_storage before bailouts that access it"), sk_clone() performs an initial shallow copy of the socket field ->sk_bpf_storage via sock_copy() for the cloned socket newsk. If sk_clone() bails out early (e.g. if sk_filter_charge() fails) prior to calling bpf_sk_storage_clone(), newsk->sk_bpf_storage still points to the parent socket's BPF local storage. When newsk is subsequently freed via sk_free(), the deallocation path (__sk_destruct() -> bpf_sk_storage_free()) destroys the parent socket's BPF local storage, leading to a use-after-free (UAF) on the parent socket. Fix this by resetting newsk->sk_bpf_storage to NULL immediately after sock_copy() in sk_clone(), and remove the now redundant initialization from bpf_sk_storage_clone().
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-119338 Tesseract is an open source OCR engine. CWE-416
- CVE-2026-119332 Ladybird is a truly independent web browser. CWE-416
- CVE-2026-119116 A use-after-free and double-free issue in the SetClient command handler of the… CWE-416
- CVE-2026-119378 SQLite before 3.54.0 contains a use-after-free vulnerability in the R-Tree extension that… CWE-416
- CVE-2026-119372 SQLite before 3.54.0 built with FTS3/FTS4 and SQLITE_ENABLE_FTS3_PARENTHESIS contains a… CWE-416
- CVE-2026-65586 Software installed and run as a non-privileged user may conduct improper GPU system calls… CWE-416
- CVE-2026-15466 Software installed and run as a non-privileged user may conduct improper GPU system calls… CWE-416
- CVE-2026-76031 Use after free in Input in Google Chrome prior to 156.0.8078.79 allowed a remote attacker… CWE-416