CVE-2021-3491

High

Description

The io_uring subsystem in the Linux kernel allowed the MAX_RW_COUNT limit to be bypassed in the PROVIDE_BUFFERS operation, which led to negative values being usedin mem_rw when reading /proc/<PID>/mem. This could be used to create a heap overflow leading to arbitrary code execution in the kernel. It was addressed via commit d1f82808877b ("io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers") (v5.13-rc1) and backported to the stable kernels in v5.12.4, v5.11.21, and v5.10.37. It was introduced in ddf0322db79c ("io_uring: add IORING_OP_PROVIDE_BUFFERS") (v5.7-rc1).

SeverityHigh
CVSS7.8
Exploit probability—
ProductLinux Kernel
PublishedJun 4, 2021
First seenJun 4, 2021
Weakness typeCWE-131CWE-131

How to fix

Update
  • linux linux_kernel5.10.37, 5.11.21, 5.12.4 or later

Affected products

ProductAffected versionsFixed in
linux linux_kernel5.7 ≤ v < 5.10.37, 5.11 ≤ v < 5.11.21, 5.12 ≤ v < 5.12.45.10.37, 5.11.21, 5.12.4
canonical ubuntu_linux20.04, 20.10, 21.04—

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.