CVE-2026-63809

Updated on 19 Jul 2026

Severity

7.8 High severity

Details

CVSS score
7.8
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Overview

About vulnerability

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

bpf: use kvfree() for replaced sysctl write buffer

proc_sys_call_handler() allocates its temporary sysctl buffer with kvzalloc() and passes it to __cgroup_bpf_run_filter_sysctl(). Since kvzalloc() may fall back to vmalloc() for large allocations, freeing that buffer with kfree() is wrong and can corrupt memory.

Use kvfree() to safely handle both kmalloc and kvzalloc()/vmalloc allocations.

The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc5.

Reproduced the bug based on v7.1-rc4 in a QEMU x86_64 guest booted with KASAN and CONFIG_FAILSLAB enabled. To exercise the replacement path, the test tree also included the accompanying fix for the stale ret == 1 check in __cgroup_bpf_run_filter_sysctl(). The reproducer confines failslab injections to the proc_sys_call_handler() range, uses stacktrace-depth=32, and injects fail-nth=1 while writing 8191 bytes to /proc/sys/kernel/domainname from a task in the target cgroup. Under that setup, fail-nth=1 triggered the fault:

BUG: unable to handle page fault for address: ffffeb0200024d48 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 SMP KASAN NOPTI CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4 PREEMPT(lazy) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 RIP: 0010:kfree+0x6e/0x510 … Call Trace: <TASK> ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30 __cgroup_bpf_run_filter_sysctl+0x74d/0xc30 ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? __kvmalloc_node_noprof+0x345/0x870 ? proc_sys_call_handler+0x250/0x480 ? srso_return_thunk+0x5/0x5f proc_sys_call_handler+0x3a2/0x480 ? __pfx_proc_sys_call_handler+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? selinux_file_permission+0x39f/0x500 ? srso_return_thunk+0x5/0x5f ? lock_is_held_type+0x9e/0x120 vfs_write+0x98e/0x1000 … </TASK>

With this fix applied on top of the same test setup, rerunning the reproducer with fail-nth=1 yields no corresponding Oops reports.

Details

Affected packages:
kernel @ 5.14.0 (+4 more)

Fixes

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
Amazon Linux 2023 Released
64 kernels
  • 6.1.79-99.164.amzn2023
  • 6.1.84-99.169.amzn2023
  • 6.1.82-99.168.amzn2023
  • 6.1.90-99.173.amzn2023
  • 6.1.87-99.174.amzn2023
  • 6.1.91-99.172.amzn2023
  • 6.1.97-104.177.amzn2023
  • 6.1.94-99.176.amzn2023
  • 6.1.102-108.177.amzn2023
  • 6.1.106-116.188.amzn2023
  • 6.1.102-111.182.amzn2023
  • 6.1.79-99.167.amzn2023
  • 6.1.92-99.174.amzn2023
  • 6.1.96-102.177.amzn2023
  • 6.1.109-118.189.amzn2023
  • 6.1.112-122.189.amzn2023
  • 6.1.111-120.187.amzn2023
  • 6.1.115-126.197.amzn2023
  • 6.1.119-129.201.amzn2023
  • 6.1.124-134.200.amzn2023
  • 6.1.127-135.201.amzn2023
  • 6.1.128-136.201.amzn2023
  • 6.1.129-138.220.amzn2023
  • 6.1.130-139.222.amzn2023
  • 6.1.131-143.221.amzn2023
  • 6.1.132-147.221.amzn2023
  • 6.1.134-150.224.amzn2023
  • 6.1.112-124.190.amzn2023
  • 6.1.140-154.222.amzn2023
  • 6.1.141-155.222.amzn2023
  • 6.1.134-152.225.amzn2023
  • 6.1.144-170.251.amzn2023
  • 6.1.147-172.266.amzn2023
  • 6.1.148-173.267.amzn2023
  • 6.1.150-174.273.amzn2023
  • 6.1.141-165.249.amzn2023
  • 6.1.141-167.250.amzn2023
  • 6.1.147-172.259.amzn2023
  • 6.1.153-175.280.amzn2023
  • 6.1.155-176.282.amzn2023
  • 6.1.156-177.286.amzn2023
  • 6.1.158-178.288.amzn2023
  • 6.1.159-181.297.amzn2023
  • 6.1.163-186.299.amzn2023
  • 6.1.158-180.294.amzn2023
  • 6.1.159-182.297.amzn2023
  • 6.1.161-183.298.amzn2023
  • 6.1.164-196.303.amzn2023
  • 6.1.166-197.305.amzn2023
  • 6.1.168-203.330.amzn2023
  • 6.1.168-202.320.amzn2023
  • 6.1.170-210.320.amzn2023
  • 6.1.170-213.321.amzn2023
  • 6.1.172-216.329.amzn2023
  • 6.1.174-217.345.amzn2023
  • 6.1.175-219.357.amzn2023
  • 6.1.172-216.339.amzn2023
  • 6.1.170-208.319.amzn2023
  • 6.1.176-220.358.amzn2023
  • 6.1.176-220.360.amzn2023
  • 6.1.176-221.367.amzn2023
  • 6.1.176-223.369.amzn2023
  • 6.1.175-219.359.amzn2023
  • 6.1.176-221.360.amzn2023
Debian 11 Released
44 kernels
  • 5.10.46-5
  • 5.10.70-1
  • 5.10.46-4
  • 5.10.84-1
  • 5.10.92-1
  • 5.10.92-2
  • 5.10.103-1
  • 5.10.106-1
  • 5.10.113-1
  • 5.10.120-1
  • 5.10.127-1
  • 5.10.127-2
  • 5.10.136-1
  • 5.10.140-1
  • 5.10.149-1
  • 5.10.149-2
  • 5.10.158-2
  • 5.10.162-1
  • 5.10.179-1
  • 5.10.179-2
  • 5.10.179-3
  • 5.10.179-5
  • 5.10.191-1
  • 5.10.197-1
  • 5.10.178-3
  • 5.10.205-2
  • 5.10.205-1
  • 5.10.209-2
  • 5.10.216-1
  • 5.10.218-1
  • 5.10.221-1
  • 5.10.223-1
  • 5.10.226-1
  • 5.10.234-1
  • 5.10.237-1
  • 5.10.244-1
  • 5.10.247-1
  • 5.10.249-1
  • 5.10.251-1
  • 5.10.251-3
  • 5.10.251-4
  • 5.10.251-5
  • 5.10.257-1
  • 5.10.259-1
Debian 11 cloud Released
24 kernels
  • 5.10.113-1
  • 5.10.179-2
  • 5.10.179-3
  • 5.10.179-5
  • 5.10.191-1
  • 5.10.197-1
  • 5.10.205-2
  • 5.10.209-2
  • 5.10.216-1
  • 5.10.218-1
  • 5.10.221-1
  • 5.10.223-1
  • 5.10.226-1
  • 5.10.234-1
  • 5.10.237-1
  • 5.10.244-1
  • 5.10.247-1
  • 5.10.249-1
  • 5.10.251-1
  • 5.10.251-3
  • 5.10.251-4
  • 5.10.251-5
  • 5.10.257-1
  • 5.10.259-1
Debian 13 Planned —
Ubuntu 22.04 Planned —
Ubuntu 22.04 AWS Planned —
Ubuntu 22.04 Azure Planned —
Ubuntu 24.04 Planned —
Ubuntu 24.04 AWS Planned —
Ubuntu 26.04 Planned —