Description
In the Linux kernel, the following vulnerability has been resolved:
seccomp: Move copy_seccomp() to no failure path.
Our syzbot instance reported memory leaks in do_seccomp() [0], similar
to the report [1]. It shows that we miss freeing struct seccomp_filter
and some objects included in it.
We can reproduce the issue with the program below [2] which calls one
seccomp() and two clone() syscalls.
The first clone()d child exits earlier than its parent and sends a
signal to kill it during the second clone(), more precisely before the
fatal_signal_pending() test in copy_process(). When the parent receives
the signal, it has to destroy the embryonic process and return -EINTR to
user space. In the failure path, we have to call seccomp_filter_release()
to decrement the filter's refcount.
Initially, we called it in free_task() called from the failure path, but
the commit 3a15fb6ed92c ("seccomp: release filter after task is fully
dead") moved it to release_task() to notify user space as early as possible
that the filter is no longer used.
To keep the change and current seccomp refcount semantics, let's move
copy_seccomp() just after the signal check and add a WARN_ON_ONCE() in
free_task() for future debugging.
[0]:
unreferenced object 0xffff8880063add00 (size 256):
comm "repro_seccomp", pid 230, jiffies 4294687090 (age 9.914s)
hex dump (first 32 bytes):
01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
backtrace:
do_seccomp (./include/linux/slab.h:600 ./include/linux/slab.h:733 kernel/seccomp.c:666 kernel/seccomp.c:708 kernel/seccomp.c:1871 kernel/seccomp.c:1991)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
unreferenced object 0xffffc90000035000 (size 4096):
comm "repro_seccomp", pid 230, jiffies 4294687090 (age 9.915s)
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
__vmalloc_node_range (mm/vmalloc.c:3226)
__vmalloc_node (mm/vmalloc.c:3261 (discriminator 4))
bpf_prog_alloc_no_stats (kernel/bpf/core.c:91)
bpf_prog_alloc (kernel/bpf/core.c:129)
bpf_prog_create_from_user (net/core/filter.c:1414)
do_seccomp (kernel/seccomp.c:671 kernel/seccomp.c:708 kernel/seccomp.c:1871 kernel/seccomp.c:1991)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
unreferenced object 0xffff888003fa1000 (size 1024):
comm "repro_seccomp", pid 230, jiffies 4294687090 (age 9.915s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
bpf_prog_alloc_no_stats (./include/linux/slab.h:600 ./include/linux/slab.h:733 kernel/bpf/core.c:95)
bpf_prog_alloc (kernel/bpf/core.c:129)
bpf_prog_create_from_user (net/core/filter.c:1414)
do_seccomp (kernel/seccomp.c:671 kernel/seccomp.c:708 kernel/seccomp.c:1871 kernel/seccomp.c:1991)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
unreferenced object 0xffff888006360240 (size 16):
comm "repro_seccomp", pid 230, jiffies 4294687090 (age 9.915s)
hex dump (first 16 bytes):
01 00 37 00 76 65 72 6c e0 83 01 06 80 88 ff ff ..7.verl........
backtrace:
bpf_prog_store_orig_filter (net/core/filter.c:1137)
bpf_prog_create_from_user (net/core/filter.c:1428)
do_seccomp (kernel/seccomp.c:671 kernel/seccomp.c:708 kernel/seccomp.c:1871 kernel/seccomp.c:1991)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)
unreferenced object 0xffff888
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.9 | 5.10.180 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.1.4-1 | — |
| Debian 13 | linux | 6.1.4-1 | — |
| Debian 12 | linux | 6.1.4-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1015.17 | — |
| Ubuntu 24.04 LTS | linux-riscv +10 | No fix yet | — |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-69.76 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1033.37 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1035.42 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1035.42.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1031.38 | — |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1030.35 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1017.22 | — |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1027.30 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1027.32 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1023.23 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1032.38 | — |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1026.28 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1033.37~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1035.42~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1031.38~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-69.76~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1027.32~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1014.14~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1032.38~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1030.34~20.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1023.28 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1034.37 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | bpftool | 7.0.0-284.30.1.el9_2 | RHSA-2023:5069 |
| RHEL 9 | perf +48 | 5.14.0-284.30.1.el9_2 | RHSA-2023:5069 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.133.1 | SUSE-SU-2026:0317-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.133.1.150500.6.65.1 | SUSE-SU-2026:0317-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.194.1.150400.24.98.3 | SUSE-SU-2026:0617-1 |
Show 9 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | kernel-default-base | 5.14.21-150500.55.133.1.150500.6.65.1 | SUSE-SU-2026:0317-1 |
| SLES for SAP 15 SP5 | kernel-docs +4 | 5.14.21-150500.55.133.1 | SUSE-SU-2026:0317-1 |
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.194.1.150400.24.98.3 | SUSE-SU-2026:0617-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.133.1.150500.6.65.1 | SUSE-SU-2026:0317-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.118.1 | SUSE-SU-2026:0263-1 |
| SLE Micro 5.5 | kernel-source +1 | 5.14.21-150500.55.133.1 | SUSE-SU-2026:0317-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.194.1.150400.24.98.3 | SUSE-SU-2026:0617-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.142.1 | SUSE-SU-2026:0411-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.194.1.150400.24.98.3 | SUSE-SU-2026:0617-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.142.1 | SUSE-SU-2026:0411-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.133.1 | SUSE-SU-2026:0317-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_34 | 1-150500.11.3.1 | SUSE-SU-2026:0317-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_48 | 1-150400.9.7.1 | SUSE-SU-2026:0617-1 |
| SLE HPC 15 SP5 | kernel-64kb +5 | 5.14.21-150500.55.133.1 | SUSE-SU-2026:0317-1 |
| SLE HPC 15 SP5 | kernel-default-base | 5.14.21-150500.55.133.1.150500.6.65.1 | SUSE-SU-2026:0317-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.194.1 | SUSE-SU-2026:0617-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.194.1.150400.24.98.3 | SUSE-SU-2026:0617-1 |
Advisories 6
- WID-SEC-2025-2765 Linux Kernel: Mehrere Schwachstellen ermöglichen Denial of Service BSI CERT-Bund (WID) · Nov 12, 2026
- RHSA-2023:5069 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 17, 2026
- SUSE-SU-2026:0317-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0617-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 26, 2026
- SUSE-SU-2026:0411-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 10, 2026
- SUSE-SU-2026:0263-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
References
- https://git.kernel.org/stable/c/d4a895e924b486f2a38463114509e1088ef4d7f5
- https://git.kernel.org/stable/c/a31a647a3d1073a642c5bbe3457731fb353cb980
- https://git.kernel.org/stable/c/29a69fa075d0577eff1137426669de21187ec182
- https://git.kernel.org/stable/c/5b81f0c6c60e35bf8153230ddfb03ebb14e17986
- https://git.kernel.org/stable/c/a1140cb215fa13dcec06d12ba0c3ee105633b7c4