🔍 CVE-2024-39477

7.8
CVSS Score
HIGH
2024-07-05
2026-08-04 11:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 mm/hugetlb 구성 요소에서 메모리 할당 실패(ENOMEM) 시 vma_add_reservation을 호출하여 발생하는 취약점입니다. 메모리 할당 실패 시 적절한 예외 처리가 이루어지지 않아 시스템의 메모리 관리 상태가 불일치할 수 있습니다.

💡 쉬운 설명

컴퓨터의 메모리를 예약하는 과정에서 메모리가 부족할 때, 예약이 제대로 안 되었음에도 예약된 것처럼 처리되어 시스템 오류가 발생할 수 있는 문제입니다. 이로 인해 시스템이 불안정해지거나 예상치 못한 동작을 할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb: do not call vma_add_reservation upon ENOMEM sysbot reported a splat [1] on __unmap_hugepage_range(). This is because vma_needs_reservation() can return -ENOMEM if allocate_file_region_entries() fails to allocate the file_region struct for the reservation. Check for that and do not call vma_add_reservation() if that is the case, otherwise region_abort() and region_del() will see that we do not have any file_regions. If we detect that vma_needs_reservation() returned -ENOMEM, we clear the hugetlb_restore_reserve flag as if this reservation was still consumed, so free_huge_folio() will not increment the resv count. [1] https://lore.kernel.org/linux-mm/[email protected]/T/#ma5983bc1ab18a54910da83416b3f89f3c7ee43aa

📍 영향받는 시스템

Linux Kernel (hugetlb 관련 모듈을 사용하는 시스템)

⚔️ 공격 벡터

메모리 부족 상황을 유도하여 커널의 메모리 관리 로직 오류를 일으키는 방식

🛡️ 대응 방법

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