🔍 CVE-2024-42131

4.4
CVSS Score
MEDIUM
2024-07-30
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 dirty throttling 로직에서 dirty limit 값이 32비트 범위를 초과할 경우 오버플로우나 0으로 나누기 오류가 발생할 수 있는 취약점입니다. 이 문제는 운영자가 dirty limit을 16TB 이상으로 설정할 때 발생하며, 이를 방지하기 위해 너무 큰 한계값 설정을 제한하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터가 데이터를 저장할 때 사용하는 임시 공간의 크기를 너무 크게 설정하면 계산 오류가 발생하여 시스템이 멈출 수 있는 문제입니다. 관리자가 실수로 너무 큰 값을 입력하는 것을 막아 시스템의 안정성을 높이는 패치가 적용되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm: avoid overflows in dirty throttling logic The dirty throttling logic is interspersed with assumptions that dirty limits in PAGE_SIZE units fit into 32-bit (so that various multiplications fit into 64-bits). If limits end up being larger, we will hit overflows, possible divisions by 0 etc. Fix these problems by never allowing so large dirty limits as they have dubious practical value anyway. For dirty_bytes / dirty_background_bytes interfaces we can just refuse to set so large limits. For dirty_ratio / dirty_background_ratio it isn't so simple as the dirty limit is computed from the amount of available memory which can change due to memory hotplug etc. So when converting dirty limits from ratios to numbers of pages, we just don't allow the result to exceed UINT_MAX. This is root-only triggerable problem which occurs when the operator sets dirty limits to >16 TB.

📍 영향받는 시스템

Dirty throttling 로직을 사용하는 리눅스 커널 (16TB 이상의 dirty limit 설정 시 영향)

⚔️ 공격 벡터

루트(root) 권한을 가진 사용자가 dirty limit 설정을 비정상적으로 높게 변경하여 트리거

🛡️ 대응 방법

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

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel