CVE-2021-3491

Linux kernel io_uring PROVIDE_BUFFERS MAX_RW_COUNT bypass

Published Jun 4, 2021 CVSS 3.1 · 7.8 High EPSS < 1% KEV · Not listed
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).

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2021-26813 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).
Ubuntu USN Ubuntu USN USN-4948-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-4949-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-4950-1 Linux kernel vulnerabilities
History

No history.

Weaknesses

Sources

Status
PUBLISHED
Assigner
canonical
Published
Updated
Sep 16, 2024, 10:09 PM
Reserved
Apr 9, 2021, 12:00 AM
Status
Modified
Published
Jun 4, 2021, 2:15 AM
Modified
Jun 17, 2026, 4:05 AM
Severity
Important
Public date
May 11, 2021, 12:00 AM