2023-06-30 15:27:46

by Matteo Rizzo

[permalink] [raw]
Subject: [PATCH v3 0/1] Add a sysctl to disable io_uring system-wide

Over the last few years we've seen many critical vulnerabilities in
io_uring[1] which could be exploited by an unprivileged process to gain
control over the kernel. This patch introduces a new sysctl which disables
the creation of new io_uring instances system-wide.

The goal of this patch is to give distros, system admins, and cloud
providers a way to reduce the risk of privilege escalation through io_uring
where disabling it with seccomp or at compile time is not practical. For
example a distro or cloud provider might want to disable io_uring by
default and have users enable it again if they need to run a program that
requires it. The new sysctl is designed to let a user with root on the
machine enable and disable io_uring systemwide at runtime without requiring
a kernel recompilation or a reboot.

[1] Link: https://goo.gle/limit-iouring

---
v3:
* Fix the commit message
* Use READ_ONCE in io_uring_allowed to avoid races
* Add reviews
v2:
* Documentation style fixes
* Add a third level that only disables io_uring for unprivileged
processes


Matteo Rizzo (1):
io_uring: add a sysctl to disable io_uring system-wide

Documentation/admin-guide/sysctl/kernel.rst | 19 +++++++++++++
io_uring/io_uring.c | 31 +++++++++++++++++++++
2 files changed, 50 insertions(+)


base-commit: 1601fb26b26758668533bdb211fdfbb5234367ee
--
2.41.0.255.g8b1d071c50-goog



2023-07-11 20:59:08

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH v3 0/1] Add a sysctl to disable io_uring system-wide


On Fri, 30 Jun 2023 15:10:02 +0000, Matteo Rizzo wrote:
> Over the last few years we've seen many critical vulnerabilities in
> io_uring[1] which could be exploited by an unprivileged process to gain
> control over the kernel. This patch introduces a new sysctl which disables
> the creation of new io_uring instances system-wide.
>
> The goal of this patch is to give distros, system admins, and cloud
> providers a way to reduce the risk of privilege escalation through io_uring
> where disabling it with seccomp or at compile time is not practical. For
> example a distro or cloud provider might want to disable io_uring by
> default and have users enable it again if they need to run a program that
> requires it. The new sysctl is designed to let a user with root on the
> machine enable and disable io_uring systemwide at runtime without requiring
> a kernel recompilation or a reboot.
>
> [...]

Applied, thanks!

[1/1] io_uring: add a sysctl to disable io_uring system-wide
commit: d55f54dac19a0cee1818353ab5aa3edac9034db4

Best regards,
--
Jens Axboe