KernelScan.io

HIGH Introduced in 7.0

io_uring TaskRestrictions Bypass

CVE-2026-80713

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.8HIGH

01

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.

02

Engine v0.6.0

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.

Affectedio_uring/tctx.c (io_uring)

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.

03

BranchIntroducedFixed inPatch commit
7.17.07.1.8fcef9325afee
mainline7.07.2bc0e8faf90e7