[공격] 분석 — CVE-2025-71123
A local privilege escalation risk exists in the Linux kernel's ext4 mount option parsing due to an improper string copy, requiring a patch for affected versions to prevent potential memory corruption.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00143 · 악용난이도 hard
🔍 공격 기법
본 취약점은 ext4 파일 시스템의 마운트 옵션을 처리하는 parse_apply_sb_mount_options() 함수 내에서 발생한다. 핵심 결함은 NUL-terminated 되지 않은 문자열을 strscpy_pad()를 통해 복사하려 할 때 발생하는 Buffer Overflow(Out-of-bounds Read)이다.
-
공격 표면 및 트리거:
- 엔드포인트: 시스템 콜
mount()또는/etc/fstab설정 파일. - 파라미터: ext4 마운트 옵션 문자열.
- 함수 경로:
ext4_fill_super()$\rightarrow$__ext4_fill_super()$\rightarrow$parse_apply_sb_mount_options(). - 트리거 조건: NUL-terminator가 누락된 특수하게 조작된 마운트 옵션 문자열을 전달하여
strnlen이 버퍼 경계를 넘어 읽게 함.
- 엔드포인트: 시스템 콜
-
공격 체인 및 전제조건:
- 초기 접근 (PR:L): 공격자는 이미 시스템에 로그인한 일반 사용자 권한(Low Privilege)을 가지고 있어야 한다. CVSS 벡터
AV:L/PR:L은 로컬 접근과 기본 권한이 필수임을 뜻한다. - 정찰 및 실행: 대상 커널 버전이 영향 범위(
5.4.301 - 6.18.3등 다수 버전)에 포함되는지 확인 후, 조작된 마운트 옵션을 통해mount명령을 시도한다. - 결함 트리거:
strscpy_pad()가 예상보다 긴 문자열을 처리하며 커널 메모리의 인접 영역을 읽거나 덮어쓰는 상황을 유발한다. (제공된 로그 상에서는__fortify_report에 의해65 byte read of buffer size 64경고와 함께 패닉이 발생하는 것이 확인됨). - 권한 획득: 추정: 단순 Crash(DoS)를 넘어, 메모리 레이아웃 조작을 통해 커널 공간의 함수 포인터를 변조하거나 권한 토큰을 수정하여 Root 권한을 획득한다.
- 초기 접근 (PR:L): 공격자는 이미 시스템에 로그인한 일반 사용자 권한(Low Privilege)을 가지고 있어야 한다. CVSS 벡터
악용 가능성: 본 취약점은 AV:L 및 PR:L 벡터가 시사하듯, 공격자가 이미 시스템에 최소 권한의 계정으로 접근하여 로컬 환경에서 실행 가능한 상태여야 하므로 진입 장벽이 높습니다. 공격 표면은 Linux 커널의 ext4 파일 시스템 마운트 옵션을 처리하는 parse_apply_sb_mount_options() 함수이며, 조작된 마운트 옵션 문자열을 통해 트리거됩니다. 다만 일반 사용자는 마운트 권한이 제한적이므로, 특수하게 구성된 디스크 이미지를 마운트하거나 특정 권한 상승 경로를 확보해야 하는 전제조건이 붙어 공격 난이도는 hard로 판정됩니다. EPSS 수치가 0.00143으로 매우 낮고 KEV에 등재되지 않은 점은, 이론적인 Buffer Overflow 가능성과 달리 실제 야생(In-the-wild)에서 무기화된 사례가 거의 없음을 의미합니다. 결과적으로 이 취약점은 단독으로 외부에서 침투하는 경로로는 활용될 수 없으며, 로컬 권한 상승(LPE)을 위한 체이닝 단계의 일부로 사용될 가능성이 있는 제한적인 위협입니다.
💥 영향 분석
- 커널 패닉 (DoS):
FORTIFY_SOURCE가 활성화된 환경에서는__fortify_panic으로 인해 시스템이 즉시 중단된다. - 권한 상승 (LPE): 메모리 오염을 정교하게 제어할 경우, 일반 사용자 계정에서 커널 권한(Ring 0)으로 승격될 수 있다.
🔗 관련 취약점·체이닝
본 결함은 단독으로는 DoS 가능성이 높으나, 다음과 같은 체이닝 경로를 통해 치명적일 수 있다.
- 정보 유출 $\rightarrow$ 메모리 레이아웃 파악 $\rightarrow$ LPE: 추정: 다른 커널 정보 유출(Information Leak) 취약점을 통해 KASLR(Kernel Address Space Layout Randomization)을 우회한 뒤, 본 취약점의 Buffer Overflow를 이용해 정확한 주소에 페이로드를 배치하는 체이닝이 가능하다.
- 권한 상승 $\rightarrow$ 지속성 확보: 일단 Root 권한을 획득하면 커널 모듈 로드나 시스템 설정 변경을 통해 백도어를 설치하여 지속성을 확보한다.
- 유형 수준 분석:
strscpy_pad()의 오용으로 인한 Out-of-bounds Read/Write 패턴이며, 이는 전형적인 메모리 안전성 결함(Memory Safety Issue)에 해당한다.
🔎 탐지
- 커널 로그 모니터링:
dmesg또는/var/log/syslog에서strnlen: detected buffer overflow,__fortify_report,parse_apply_sb_mount_options키워드가 포함된 Stack Trace를 감시한다. - 이상 징후: 일반 사용자가 비정상적으로 많은 마운트 시도를 하거나, 시스템이 이유 없이 반복적으로 Reboot/Panic 되는 현상을 추적한다.
🛡️ 완화 방안
- 근본 해결: 영향받는 Linux 커널 버전을 최신 패치 버전으로 업데이트하여
strscpy_pad()대신 적절한 문자열 복사 함수(memtostr등)가 적용된 커밋을 반영한다. - 즉시 조치: 일반 사용자의 마운트 권한을 제한하거나,
/etc/fstab및 마운트 옵션 설정을 엄격히 관리하여 신뢰할 수 없는 입력이 커널에 전달되지 않도록 한다.
분석 근거: 본 리포트는 다중 소스 데이터의 일관성이 확인된 [교차검증] 결과를 바탕으로 작성되었다. 실측 악용 예측치인 EPSS 0.00143(백분위 0.04006)은 현재 실제 공격 사례가 드물고 익스플로잇 난이도가 높음(hard)을 의미한다. 따라서 CVSS 7.8의 높은 이론적 심각도에도 불구하고, KEV 미등재 및 낮은 EPSS 수치를 근거로 우선순위를 scheduled(이번 주 내 대응)로 결정하였다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00143 · exploit=hard · in_scope=None