Vulnerability · Published Jun 4, 2021 · Assigned by canonical

CVE-2021-3491Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass

High 7.8

In plain English

A high-severity security flaw in Linux kernel from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 51% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.6%top 48.9% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official 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).

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux5.10.38-1DEBIAN-CVE-2021-3491
Debian:13linux5.10.38-1DEBIAN-CVE-2021-3491
Debian:14linux5.10.38-1DEBIAN-CVE-2021-3491

Affected products (as reported)

VendorProductVersions
Linux Linux kernel trunk – before v5.13-rc4linux-5.12.y – before v5.12.4linux-5.11.y – before v5.11.21linux-5.10.y – before v5.10.37v5.7-rc1 – before 5.7*

Weakness: CWE-131 · Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

References