🔍 CVE-2026-98157

5.5
CVSS Score
MEDIUM
2026-09-25
2026-10-20 17:30
✅ 완료

🇰🇷 한글 설명

Linux 커널의 EDAC/device_sysfs 구성 요소에서 poll_msec 값을 처리할 때 데이터 타입 불일치로 인한 절단(truncation) 문제가 발생합니다. 기존의 simple_strtoul() 함수는 64비트 시스템에서 UINT_MAX보다 큰 값을 허용하여 값이 잘리는 현상이 있었으며, 이를 kstrtouint()로 교체하여 해결했습니다. 또한 0 이하의 값이 입력되어 CPU 점유율이 100%로 치솟는 것을 방지하기 위한 검증 로직이 추가되었습니다.

💡 쉬운 설명

시스템 설정값을 입력할 때 너무 큰 숫자를 넣으면 숫자가 멋대로 잘려서 잘못된 설정이 적용될 수 있는 문제입니다. 이로 인해 컴퓨터의 두뇌인 CPU가 쉬지 않고 일하게 되어 컴퓨터가 매우 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation The poll_msec sysfs store file uses simple_strtoul() which accepts an unsigned long, but the target field (poll_msec) is unsigned int. On 64-bit systems, a value > UINT_MAX is silently truncated when stored. Fix the mismatch by using kstrtouint() instead. This rejects values larger than UINT_MAX at parse time, making truncation impossible. Also add a check for value < 1 to reject the 0-delay case, which would cause the poll work to spin without delay and consume 100% CPU.

📍 영향받는 시스템

EDAC(Error Detection and Correction) 모듈을 사용하는 Linux 커널 기반 시스템

⚔️ 공격 벡터

로컬 사용자가 sysfs 인터페이스를 통해 poll_msec 파일에 특정 범위 이상의 값을 입력하여 CPU 자원 고갈 유도

🛡️ 대응 방법

EDAC/device_sysfs 모듈의 poll_msec 처리 로직이 수정된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 보안 업데이트 버전인지 배포판 보안 공지를 통해 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel