HIGH Introduced in 7.0
io_uring TaskRestrictions Bypass
CVE-2026-80713
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
KernelScan AI7.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: io_uring: preserve task restrictions across exec Per-task restrictions apply to all rings created by a task. Once installed, they should not be dropped across exec. For a task that has used io_uring, the exec cancellation path calls __io_uring_free(). This frees both the task context and the per-task restriction, so a ring created after exec is unrestricted. Split task context cleanup into io_uring_free_tctx(), and use it from the exec cancellation path. Keep __io_uring_free() for final task cleanup, where both the context and restriction are released.
02KernelScan AI Analysis
Risk summary
A local user can bypass io_uring per-task restrictions by executing an exec after using io_uring, causing the restrictions to be dropped. This allows subsequent rings to be created without the intended restrictions, potentially enabling restricted operations.
Vulnerability analysis
When a process that has used io_uring performs an exec, the kernel incorrectly discards the per-task security restrictions along with the task context. This means any io_uring ring created after the exec runs without the restrictions that should still apply. The fix separates the cleanup so that exec only releases the task context while keeping the restrictions intact; the restrictions are only removed when the task exits completely. Any local user who can create io_uring rings and execute a program can trigger this.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 7.1 | 7.0 | 7.1.8 | fcef9325afee |
| mainline | 7.0 | 7.2 | bc0e8faf90e7 |