KernelScan.io

HIGH Introduced in 5.9

entry Seccomp Bypass

CVE-2026-89603

CVSS 8.4 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N

KernelScan AI7.7HIGH

01

In the Linux kernel, the following vulnerability has been resolved: entry: Fix seccomp bypass after ptrace with TSYNC Sashiko review pointed out the following issue. If a thread is stopped in syscall_trace_enter() for ptrace, another thread can install a seccomp filter with SECCOMP_FILTER_FLAG_TSYNC (e.g., via seccomp_attach_filter()). This will successfully set SYSCALL_WORK_SECCOMP on the stopped thread, but syscall_trace_enter() evaluates a cached 'work' variable sampled on entry. Consequently, the subsequent check for SYSCALL_WORK_SECCOMP misses the newly assigned flag, and the filter is silently bypassed. This race condition could allow an unprivileged process to execute a prohibited system call (e.g., execve) that the newly installed filter was intended to block, especially since the tracer might have modified the system call number during the ptrace stop. Fix this by re-reading the syscall_work flags after ptrace handling, so that any new SYSCALL_WORK_SECCOMP flag set by another thread via TSYNC during the ptrace stop is observed before the subsequent seccomp check.

02

Engine v0.6.0

Risk summary

A race condition in the syscall entry path allows a seccomp filter installed via TSYNC to be bypassed when a thread is stopped for ptrace. An unprivileged process can exploit this to execute syscalls that should be blocked, potentially escalating privileges or escaping container sandboxes.

Affectedinclude/linux/entry-common.h (syscall entry)

Vulnerability analysis

When a thread is stopped in the syscall entry path for ptrace, another thread can install a seccomp filter with TSYNC, setting the seccomp work flag on the stopped thread. However, the entry code uses a cached copy of the work flags sampled before the ptrace stop, so the seccomp check after ptrace does not see the newly set flag and silently skips the filter. This allows a prohibited syscall (potentially one whose number was modified by the tracer during the ptrace stop) to execute. The fix re-reads the syscall work flags after ptrace handling so that any seccomp flag set by TSYNC during the stop is observed before the seccomp check. The bug is reachable locally by an unprivileged process that can use ptrace and threads.

03

BranchIntroducedFixed inPatch commit
5.105.95.10.270eca5ed4200f0
5.155.95.15.2218709e7e1dd7d
6.15.96.1.18822bb836fc133
6.125.96.12.11009e8880ce540
6.185.96.18.51459f33f82864
6.65.96.6.15723001ee5d863
7.25.97.2.4ab4647459098
mainline5.97.3-rc14a3591287fb7
cip/5.105.95.10.271-cip78eca5ed4200f0
cip/6.15.96.1.189-cip6122bb836fc133
cip/6.1-rt5.96.1.189-cip61-rt3222bb836fc133
cip/6.125.96.12.111-cip3209e8880ce540

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.271-cip78
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)