🔍 CVE-2026-72105

7.8
CVSS Score
HIGH
2026-08-15
2026-10-19 22:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 dm-log 구성 요소에서 32비트 아키텍처 사용 시 bitset_size 변수가 오버플로되는 취약점이 발견되었습니다. region_count를 기반으로 비트맵 메모리 크기를 계산하는 과정에서 값이 0으로 되돌아가는(wrap around) 현상이 발생하여 메모리 할당 오류를 유발할 수 있습니다.

💡 쉬운 설명

32비트 컴퓨터에서 특정 데이터를 처리할 때 계산 결과가 너무 커져서 0으로 잘못 인식되는 문제입니다. 이로 인해 시스템이 필요한 메모리 크기를 제대로 계산하지 못해 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: dm-log: fix a bitset_size overflow on 32bit machines Commit c20e36b7631d ("dm log: fix out-of-bounds write due to region_count overflow") made sure that region_count could fit in an unsigned int. But the bitmap memory isn't allocated based on region_count. It uses bitset_size (a size_t variable). The first step of calculating bitset_size is to set it to region_count, rounded up to a multiple of BITS_PER_LONG. If region_size is less than BITS_PER_LONG smaller than UINT_MAX, it will get rounded up to 2^32. On a 32bit architecture, this will make bitset_size wrap around to 0 and fail, despite region_count being valid. Since bitset_size gets divided by 8, it can hold any valid region_count. It just needs a special case to handle the rollover. If it is 0, the value rolled over, and bitset size should be set to the number of bytes needed to hold 2^32 bits.

📍 영향받는 시스템

32비트 아키텍처 기반의 Linux 커널 (dm-log 모듈 사용 시)

⚔️ 공격 벡터

특정 조건의 region_count 값을 설정하여 메모리 할당 오류를 유발하는 로컬 공격

🛡️ 대응 방법

dm-log의 bitset_size 오버플로를 수정한 최신 Linux 커널로 업데이트

🔧 검증 코드

커널 버전 확인 및 시스템 로그에서 dm-log 관련 메모리 할당 오류 메시지 존재 여부를 확인합니다.

Shell / Script
uname -a && dmesg | grep -i 'dm-log'

📊 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