A big safety hole in Linux runtime safety attributable to the ‘io_uring’ interface permits rootkits to function undetected on techniques whereas bypassing superior Enterprise safety software program.
The flaw was found by ARMO safety researchers who developed a proof-of-concept rootkit known as “Curing” to reveal the practicality and feasibility of assaults leveraging io_uring for evasion.
io_uring is a Linux kernel interface for environment friendly, asynchronous I/O operations. It was launched in 2019 with Linux 5.1 to deal with efficiency and scalability points with the standard I/O system.
As a substitute of counting on system calls that trigger a number of overhead and course of hangs, io_uring makes use of ring buffers shared between packages and the system kernel to queue up I/O requests that can be processed asynchronously, permitting this system to maintain operating.

Supply: Donald Hunter
The issue, in accordance with ARMO, arises from the truth that most safety instruments monitor for suspicious syscalls and hooking (like ‘ptrace’ or ‘seccomp’), fully ignoring something that includes the io_ring, creating a really harmful blindspot.
The researchers clarify that io_uring helps a big selection of operations by 61 ops sorts, together with file learn/writes, creating and accepting community connections, spawning processes, modifying file permissions, and studying listing contents, making it a strong rootkit vector.
Such is the danger that Google determined to flip it off by default on Android and ChromeOS, which use the Linux kernel and inherit a lot of its underlying vulnerabilities.
To place idea into testing, ARMO created Curing, a special-purpose rootkit that abuses io_uring to drag instructions from a distant server and execute arbitrary operations with out triggering syscall hooks.
Testing Curing in opposition to a number of well-known runtime safety instruments demonstrated that the majority could not detect its exercise.
Particularly, Falco was discovered to be fully blind even when customized detection guidelines have been used, whereas Tetragon confirmed an incapability to flag malicious exercise underneath the default configuration.
Tetragon, although, doesn’t contemplate its platform susceptible as monitoring may be enabled to detect this rootkit.
“We reported this to the Tetragon group and their response was that from their perspective Tetragon will not be “susceptible” as they supply the flexibleness to hook principally anyplace,” explains the researchers.
“They identified a very good weblog publish they wrote concerning the topic.”
Testing in opposition to industrial instruments, ARMO additional confirmed the shortcoming to detect io_uring-based malware and kernel interactions that do not contain syscalls. Nevertheless, ARMO didn’t share what industrial packages they examined once more.
For individuals who need to check their environments in opposition to this risk, ARMO has made Curing obtainable totally free on GitHub.
ARMO means that the issue may be solved with the adoption of Kernel Runtime Safety Instrumentation (KRSI), which permits eBPF packages to be hooked up to security-relevant kernel occasions.