[공격] 분석 — CVE-2025-6141
A stack-based buffer overflow in GNU ncurses (up to 6.5-20250322) requires local access and is best addressed by upgrading to version 6.5-20250329.
📋 요약
- 심각도 low · CVSS 3.3 · EPSS 0.00165 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건:
tinfo/parse_entry.c파일의postprocess_termcap함수 내에서 입력 값 검증 미흡으로 인한 Stack-based Buffer Overflow가 발생함. 추정: 터미널 설명 파일(terminfo)의 엔트리를 파싱하는 과정에서 예상보다 긴 입력값이 스택 버퍼 경계를 넘어설 때 트리거됨. - 공격 단계:
- 정찰: 대상 시스템에 설치된
ncurses버전 및 사용 중인 터미널 정의 파일 경로 확인. - 트리거: 공격자가 로컬 권한으로 조작된 terminfo 데이터베이스 파일을 생성하거나, 환경 변수(
TERM)를 통해 악성 설정 파일을 읽도록 유도. - 실행/권한 획득:
postprocess_termcap함수 호출 시 버퍼 오버플로우를 일으켜 Return Address를 덮어씀. 이를 통해 임의 코드 실행(RCE) 또는 서비스 거부(DoS) 유발. - 후속 피벗: 현재 프로세스의 권한이 낮다면, 로컬 권한 상승(LPE) 취약점과 체이닝하여 Root 권한 획득 시도.
- 정찰: 대상 시스템에 설치된
- 공격 표면: 로컬 파일 시스템의 terminfo 데이터베이스 및
TERM환경 변수. 네트워크를 통한 직접 진입은 불가함. - CVSS 벡터 분석:
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:LAV:L: 로컬 접근 필수.PR:L: 일반 사용자 권한 필요.A:L: 가용성 영향이 낮음(Crash 위주). 이는 실제 공격 난이도가 높고 파급력이 제한적임을 시사함.
악용 가능성: 공격 난이도 및 악용 가능성 분석
본 취약점은 AV:L 조건으로 인해 공격자가 대상 시스템에 이미 로컬 쉘 접근 권한을 확보해야 하므로 초기 진입 장벽이 매우 높으며, 이에 따라 전체적인 공격 난이도는 Hard로 판정됩니다. 실제 악용 가능성 또한 EPSS 수치가 0.00165로 매우 낮고 KEV(Known Exploited Vulnerabilities)에 등재되지 않아, 현재 야생에서 활발히 이용되는 사례는 없는 것으로 분석됩니다. 공격 표면은 tinfo/parse_entry.c 내의 postprocess_termcap 함수이며, 이는 터미널 설정 파일(terminfo)을 파싱하는 과정에서 발생합니다. 공격자는 특수하게 조작된 terminfo 데이터베이스 항목을 시스템에 배치하고, 취약한 버전의 ncurses 라이브러리를 사용하는 애플리케이션이 해당 설정을 로드하도록 유도하여 Stack-based Buffer Overflow를 트리거해야 합니다. 실전 관점에서는 단독으로 원격 코드 실행(RCE)을 달성할 수 없으므로, 낮은 권한의 계정으로 진입한 후 관리자 권한을 획득하기 위한 권한 상승(Privilege Escalation) 단계에서 다른 취약점과 체이닝하여 활용될 가능성이 큽니다. 결과적으로 이론적 심각도는 높으나, 로컬 접근 전제조건과 정교한 페이로드 구성 필요성으로 인해 실제 실현 가능성은 제한적입니다.
🔎 탐지
- 로그 지표:
ncurses라이브러리를 사용하는 애플리케이션의 Segmentation Fault 로그 및 코어 덤프 발생 기록. - 탐지 규칙 예시:
- 패턴: 비정상적으로 긴 문자열이 포함된 terminfo 파일 생성/수정 행위 모니터링.
- 로직:
auditd등을 통해/usr/share/terminfo또는~/.terminfo경로에 대한 쓰기 작업 감시. - 의사코드:
IF (process == "vi" OR "nano") AND (event == "segfault") AND (module == "libtinfo.so") THEN alert("Possible CVE-2025-6141 Trigger");
- 오탐 가능성: 잘못 작성된 커스텀 터미널 설정 파일로 인한 단순 크래시일 가능성이 높음. 실행 흐름의 변조(Return Address 변경) 여부를 분석하여 구분해야 함.
🛡️ 완화 방안
- 즉시 (긴급 차단): 일반 사용자의
~/.terminfo디렉토리 쓰기 권한 제한 및 신뢰할 수 없는 터미널 설정 파일 업로드 금지. (트레이드오프: 사용자별 맞춤형 터미널 설정 불가) - 단기 (완화): ASLR(Address Space Layout Randomization) 및 Stack Canary 등 OS 레벨의 메모리 보호 기법 활성화 확인. (트레이드오프: 성능 영향 미비하나 완전한 방어는 아님)
- 근본 (해결): GNU ncurses를
6.5-20250329버전 이상으로 업그레이드. (트레이드오프: 라이브러리 업데이트에 따른 의존성 확인 및 재컴파일 필요 가능성)
[분석 근거]
본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.00165, 백분위 0.061)을 바탕으로 실제 악용 가능성이 매우 낮음을 확인했습니다. CVSS 점수(3.3)와 로컬 공격 벡터(AV:L), KEV 미등재 상태를 종합하여 규칙 기반 우선순위를 monitor(모니터링) 등급으로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=3.3 · non-KEV · EPSS=0.00165 · exploit=hard · in_scope=None