| ▲ | wofo an hour ago | |||||||
Could you elaborate on io_uring being a security disaster? The Redox article has the following to say: > In its early days, io_uring did have a few security issues and memory leaks, but these have since been addressed The article also links to a GitHub discussion where someone explains how io_uring is actually all right (see https://github.com/axboe/liburing/discussions/1047#discussio... ). (I don't have a horse in this race, I just like being well informed and had reconciled myself with io_uring being secure as a consequence of the Redox article.) | ||||||||
| ▲ | loeg 17 minutes ago | parent [-] | |||||||
The Redox article is underselling it somewhat. Part of the problem is Linux's historical syscall restriction systems (seccomp) did not (does not?) apply to io_uring, so io_uring is (was?) all or nothing on async versions of syscalls it implements. Also, io_uring is rapidly adding API surface compared to other parts of the kernel. With these factors combined, it has had repeated security problems since 2019 and has lead to, e.g., Android disabling io_uring entirely for applications. https://security.googleblog.com/2023/06/learnings-from-kctf-... > in the past year, there has been a clear trend: 60% of the submissions exploited the io_uring component of the Linux kernel (we paid out around 1 million USD for io_uring alone). Furthermore, io_uring vulnerabilities were used in all the submissions which bypassed our mitigations. | ||||||||
| ||||||||