🔍 CVE-2025-40245

7.8
CVSS Score
HIGH
2025-12-04
2026-10-19 19:10
✅ 완료

🇰🇷 한글 설명

Linux 커널의 nios2 아키텍처에서 CONFIG_FLATMEM 설정 시 memblock.current_limit이 적절히 설정되지 않는 취약점이 발견되었습니다. 이로 인해 max_low_pfn 값이 실제 사용 가능한 DRAM 범위를 초과할 수 있으며, 결과적으로 커널 페이징 오류 및 커널 패닉을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터가 사용할 수 있는 메모리 범위를 잘못 계산하여 시스템이 엉뚱한 메모리 주소에 접근하려고 시도하는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 블루스크린과 같은 커널 오류가 발생하며 재부팅될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: nios2: ensure that memblock.current_limit is set when setting pfn limits On nios2, with CONFIG_FLATMEM set, the kernel relies on memblock_get_current_limit() to determine the limits of mem_map, in particular for max_low_pfn. Unfortunately, memblock.current_limit is only default initialized to MEMBLOCK_ALLOC_ANYWHERE at this point of the bootup, potentially leading to situations where max_low_pfn can erroneously exceed the value of max_pfn and, thus, the valid range of available DRAM. This can in turn cause kernel-level paging failures, e.g.: [ 76.900000] Unable to handle kernel paging request at virtual address 20303000 [ 76.900000] ea = c0080890, ra = c000462c, cause = 14 [ 76.900000] Kernel panic - not syncing: Oops [ 76.900000] ---[ end Kernel panic - not syncing: Oops ]--- This patch fixes this by pre-calculating memblock.current_limit based on the upper limits of the available memory ranges via adjust_lowmem_bounds, a simplified version of the equivalent implementation within the arm architecture.

📍 영향받는 시스템

CONFIG_FLATMEM이 설정된 nios2 아키텍처 기반 Linux 커널

⚔️ 공격 벡터

로컬 공격자가 시스템 부팅 과정의 메모리 구성 오류를 이용해 커널 패닉을 유도할 수 있음

🛡️ 대응 방법

adjust_lowmem_bounds를 통해 memblock.current_limit을 올바르게 계산하도록 수정된 최신 Linux 커널 패치 적용

🔧 검증 코드

명령어 결과에 nios2 아키텍처가 나타나면 해당 취약점의 잠재적 영향권에 있는 시스템입니다.

Shell / Script
uname -a | grep -i nios2

📊 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