🔍 CVE-2025-38071

5.5
CVSS Score
MEDIUM
2025-06-18
2026-11-05 21:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 memblock_phys_alloc_range() 함수가 메모리 할당 실패 시 반환값을 검증하지 않아 발생하는 취약점입니다. CONFIG_PHYSICAL_START=0x100000 설정에서 4MiB 미만의 연속 메모리만 있을 때 커널 크래시가 발생합니다.

💡 쉬운 설명

리눅스 커널이 메모리를 할당할 때 성공/실패를 확인하지 않아 시스템이 비정상 종료될 수 있습니다. 특정 커널 설정에서 충분한 메모리가 부족하면 커널이 먹통이 됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: x86/mm: Check return value from memblock_phys_alloc_range() At least with CONFIG_PHYSICAL_START=0x100000, if there is < 4 MiB of contiguous free memory available at this point, the kernel will crash and burn because memblock_phys_alloc_range() returns 0 on failure, which leads memblock_phys_free() to throw the first 4 MiB of physical memory to the wolves. At a minimum it should fail gracefully with a meaningful diagnostic, but in fact everything seems to work fine without the weird reserve allocation.

📍 영향받는 시스템

CONFIG_PHYSICAL_START=0x100000으로 설정된 Linux kernel

⚔️ 공격 벡터

커널 부팅 단계에서 메모리 부족 조건 시 자동 트리거 (특정 메모리 구성 필요)

🛡️ 대응 방법

최신 Linux kernel 패치 적용 또는 memblock_phys_alloc_range() 반환값 검증 코드 추가

🔧 검증 코드

커널 설정 파일에서 CONFIG_PHYSICAL_START 값을 확인하고 0x100000으로 설정되었는지 확인합니다. 설정된 경우 최신 패치 적용 필요.

Shell / Script
grep 'CONFIG_PHYSICAL_START' /boot/config-$(uname -r) 2>/dev/null | grep -v '^#'

📊 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