🔍 CVE-2024-40984

7.8
CVSS Score
HIGH
2024-07-12
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ACPICA 구성 요소에서 메모리 매핑 시 페이지 경계 문제를 처리하는 과정 중 NULL 포인터 역참조 취약점이 발견되었습니다. 이전 수정 사항이 페이지 경계를 넘는 매핑을 차단하면서, 실제 데이터 길이만큼 읽기/쓰기를 시도할 때 유효하지 않은 메모리 주소에 접근하게 됩니다. 이를 해결하기 위해 ACPI 사양에 따라 페이지 경계와 상관없이 전체 길이를 매핑하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터가 하드웨어 정보를 읽을 때 메모리 경계에서 데이터가 잘리면, 존재하지 않는 빈 공간을 읽으려다 시스템이 멈추거나 오류가 발생하는 문제입니다. 이를 방지하기 위해 데이터가 경계에 걸치더라도 전체를 안전하게 읽을 수 있도록 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine." Undo the modifications made in commit d410ee5109a1 ("ACPICA: avoid "Info: mapping multiple BARs. Your kernel is fine.""). The initial purpose of this commit was to stop memory mappings for operation regions from overlapping page boundaries, as it can trigger warnings if different page attributes are present. However, it was found that when this situation arises, mapping continues until the boundary's end, but there is still an attempt to read/write the entire length of the map, leading to a NULL pointer deference. For example, if a four-byte mapping request is made but only one byte is mapped because it hits the current page boundary's end, a four-byte read/write attempt is still made, resulting in a NULL pointer deference. Instead, map the entire length, as the ACPI specification does not mandate that it must be within the same page boundary. It is permissible for it to be mapped across different regions.

📍 영향받는 시스템

ACPICA 패치가 적용되지 않은 이전 버전의 Linux 커널

⚔️ 공격 벡터

특수하게 조작된 ACPI 테이블을 통해 메모리 매핑 경계 오류를 유도하여 시스템 충돌 또는 커널 패닉 유발

🛡️ 대응 방법

ACPICA 관련 수정 사항(commit d410ee5109a1 되돌리기)이 포함된 최신 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