🔍 CVE-2026-46294

7.8
CVSS Score
HIGH
2026-06-08
2026-10-15 02:19
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dm-ioctl 내 retrieve_status 함수에서 버퍼 오버플로우 취약점이 발견되었습니다. 데이터 정렬 과정에서 경계 검사가 누락되어 outptr 변수가 버퍼 범위를 벗어날 수 있으며, 이로 인해 산술 연산 오버플로가 발생하여 메모리 범위를 초과하는 데이터 쓰기가 가능해집니다.

💡 쉬운 설명

데이터를 저장할 공간을 정리하는 과정에서 계산 실수가 발생하여, 정해진 공간보다 더 많은 데이터를 저장하려고 시도하는 오류입니다. 다만, 이 작업을 수행하려면 관리자 권한이 필요하므로 일반 사용자가 공격하기는 매우 어렵습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dm: fix a buffer overflow in ioctl processing Tony Asleson (using Claude) found a buffer overflow in dm-ioctl in the function retrieve_status: 1. The code in retrieve_status checks that the output string fits into the output buffer and writes the output string there 2. Then, the code aligns the "outptr" variable to the next 8-byte boundary: outptr = align_ptr(outptr); 3. The alignment doesn't check overflow, so outptr could point past the buffer end 4. The "for" loop is iterated again, it executes: remaining = len - (outptr - outbuf); 5. If "outptr" points past "outbuf + len", the arithmetics wraps around and the variable "remaining" contains unusually high number 6. With "remaining" being high, the code writes more data past the end of the buffer Luckily, this bug has no security implications because: 1. Only root can issue device mapper ioctls 2. The commonly used libraries that communicate with device mapper (libdevmapper and devicemapper-rs) use buffer size that is aligned to 8 bytes - thus, "outptr = align_ptr(outptr)" can't overshoot the input buffer and the bug can't happen accidentally

📍 영향받는 시스템

Linux Kernel (dm-ioctl 관련 모듈 사용 시스템)

⚔️ 공격 벡터

루트(root) 권한을 가진 사용자가 조작된 ioctl 명령을 dm-ioctl에 전달

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel