🔍 CVE-2021-3491

7.8
CVSS Score
HIGH
2021-06-04
2026-06-17 04:05
✅ 완료

🇰🇷 한글 설명

Linux 커널의 io_uring 서브시스템에서 PROVIDE_BUFFERS 작업 시 MAX_RW_COUNT 제한을 우회할 수 있는 취약점이 발견되었습니다. 이로 인해 /proc/<PID>/mem을 읽을 때 음수 값이 사용되어 힙 오버플로우가 발생할 수 있으며, 결과적으로 커널 권한의 임의 코드 실행이 가능해집니다.

💡 쉬운 설명

리눅스 운영체제의 특정 기능에서 데이터 처리 한계치를 넘어서는 오류가 발생할 수 있는 문제입니다. 해커가 이 허점을 이용하면 컴퓨터의 가장 핵심적인 부분인 커널을 장악하여 명령을 내릴 수 있습니다.

🇺🇸 원문 (English)

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

📍 영향받는 시스템

Linux kernel v5.7-rc1 이상 v5.13-rc1 미만 버전 (v5.12.4, v5.11.21, v5.10.37 미만 버전 포함)

⚔️ 공격 벡터

io_uring의 PROVIDE_BUFFERS 기능을 악용하여 MAX_RW_COUNT 제한을 우회하고 힙 오버플로우 유도

🛡️ 대응 방법

커널을 최신 보안 패치가 적용된 버전(v5.13-rc1 이상 또는 백포트된 v5.12.4, v5.11.21, v5.10.37 이상)으로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 패치 버전(v5.13-rc1 이상 또는 백포트된 안정 버전)인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel