---
id: CVE-2026-68399
title: |-
  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…
summary: |-
  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…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 6ac99e8f23d4b10258406ca0dd7bffca5f31da9d <
    01f8a354497ba739f81b691b3702bc4c46500a4d
  - >-
    Linux >= 6ac99e8f23d4b10258406ca0dd7bffca5f31da9d <
    14b49b5ab29979552c219a09e569b424fbbf4a6e
  - >-
    Linux >= 6ac99e8f23d4b10258406ca0dd7bffca5f31da9d <
    7cbd0c4cebe4c9f678d15e6b9ba975e1155a107f
  - Linux 5.2
published: '2026-08-10'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T11:17:41.660'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-68399'
references:
  - url: 'https://git.kernel.org/stable/c/01f8a354497ba739f81b691b3702bc4c46500a4d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/14b49b5ab29979552c219a09e569b424fbbf4a6e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7cbd0c4cebe4c9f678d15e6b9ba975e1155a107f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00129
epssPercentile: 0.02249
ingestedAt: '2026-10-15T11:00:41.688Z'
---

## Overview

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().

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
