[방어] 분석 — CVE-2025-71120
A local NULL pointer dereference in the Linux kernel's SUNRPC GSS authentication allows for a Denial-of-Service (DoS) attack, requiring monitoring and restriction of local access to RPC services.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.0016 · 악용난이도 hard
🔍 공격 기법
- 원리:
SUNRPC모듈의gss_read_proxy_verf함수 내에서 길이가 0인gss_token이 전달될 때 발생합니다. - 경로: 인증 토큰의 페이지 수가 0(
pages == 0)임에도 불구하고, 코드 내에서 첫 번째 페이지 주소(in_token->pages[0])를 무조건적으로 참조하여memcpy를 시도합니다. - 단계: Local 권한을 가진 사용자가 조작된 zero-length GSS 토큰을 커널에 전달 $\rightarrow$ NULL 포인터 역참조 발생 $\rightarrow$ Kernel Panic 유발.
악용 가능성: 본 취약점의 공격 난이도는 Hard이며, 실제 악용 가능성은 매우 낮습니다. CVSS 벡터상 AV:L과 PR:L 조건으로 인해, 공격자는 이미 시스템 내부에 유효한 계정 권한을 가지고 로컬 쉘에 접근한 상태여야만 트리거가 가능합니다. 공격 표면은 Linux 커널의 SUNRPC 모듈 내 svcauth_gss 함수이며, 구체적으로는 GSS-API를 통한 RPC 인증 과정에서 길이가 0인 gss_token을 전달하는 파라미터 조작이 핵심 트리거 조건입니다. 하지만 EPSS 수치가 0.0016으로 매우 낮고 KEV(Known Exploited Vulnerabilities)에 등재되지 않았다는 점은, 이론적인 NULL dereference 취약점임에도 불구하고 실제 야생(In-the-wild)에서 공격 툴로 구현되어 활용된 사례가 거의 없음을 시사합니다. 결과적으로 로컬 권한을 가진 내부자가 커널 패닉(DoS)을 유도하기 위해 정교하게 조작된 RPC 패킷을 생성해야 하므로, 일반적인 외부 침입 경로를 통한 악용 가능성은 희박합니다.
💥 영향 분석
- 가용성 침해 (DoS): 공격 성공 시 시스템이 즉시 크래시(Kernel Panic)되어 서비스 중단 및 재부팅이 필요합니다.
- 권한 범위: CVSS 벡터(
AV:L/PR:L)에 따라 로컬 인증된 사용자만이 트리거할 수 있으며, 데이터 유출이나 권한 상승으로 이어지지는 않습니다.
🔗 관련 취약점·체이닝
- 패턴 연계: 커널 내 NULL 포인터 역참조(NULL Pointer Dereference) 유형의 전형적인 패턴입니다. 단독으로는 DoS에 그치지만, 다른 메모리 오염 취약점과 체이닝될 경우 시스템 불안정성을 이용한 공격 표면을 넓힐 가능성이 있습니다.
🔎 탐지
본 취약점은 커널 내부에서 발생하므로 애플리케이션 로그보다는 시스템 커널 로그 및 하드웨어 덤프 분석이 핵심입니다.
- 로그 지표:
/var/log/messages,dmesg, 또는syslog내의 Kernel Oops/Panic 메시지.- 핵심 필드:
Instruction Pointer (RIP),Call Trace,Exception유형. - 패턴:
NULL pointer dereference,Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000.
- 핵심 필드:
- 탐지 규칙 예시 (SIEM 의사코드):
sql1SELECT timestamp, hostname, message2FROM kernel_logs3WHERE (message LIKE '%NULL pointer dereference%'4 AND message LIKE '%svcauth_gss%')5 OR (message LIKE '%Kernel panic%'6 AND message LIKE '%gss_read_proxy_verf%')
- 탐지 정규식:
/(?i)NULL pointer dereference.*(svcauth_gss|gss_read_proxy_verf)/ - 오탐 튜닝: 일반적인 커널 크래시는 하드웨어 결함이나 다른 드라이버 오류로 발생할 수 있습니다. 반드시 Call Stack에
SUNRPC또는svcauth_gss관련 심볼이 포함되어 있는지 확인하여 필터링해야 합니다.
🛡️ 완화 방안
다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.0016 및 악용 등급 'hard'를 근거로 우선순위를 monitor로 결정하였습니다. 이는 실제 야생에서의 악용 가능성이 매우 낮음을 뜻합니다.
- 즉시 (긴급 차단): 불필요한 RPC 서비스 비활성화 및 접근 제어.
- 조치: 사용하지 않는 경우
rpcbind및 관련 SUNRPC 서비스를 중지하거나,/etc/hosts.deny또는 방화벽(iptables/nftables)을 통해 로컬 루프백 외의 비정상적인 RPC 요청 경로를 차단합니다. - 난이도: 낮음 / 운영 영향: 낮음 (사용 중인 서비스일 경우 영향 있음) / 검증:
netstat -tulpn | grep rpc확인.
- 조치: 사용하지 않는 경우
- 단기 (완화): 로컬 사용자 권한 제한.
- 조치: 취약점 트리거에 로컬 권한(
PR:L)이 필요하므로, 불필요한 일반 사용자의 쉘 접근을 제한하고sudo권한 관리를 강화합니다. - 난이도: 중간 / 운영 영향: 중간 (사용자 작업 환경 제약) / 검증: 사용자 계정 및 권한 리스트 감사.
- 조치: 취약점 트리거에 로컬 권한(
- 근본 (해결): 커널 업데이트.
- 조치: 영향받는 버전(4.19.99 ~ 6.18.3 범위 내 해당 버전)에서
gss_read_proxy_verf함수에length > 0가드 조건이 추가된 최신 패치 버전으로 업그레이드합니다. - 난이도: 높음 (커널 업데이트 및 재부팅 필요) / 운영 영향: 높음 (서비스 다운타임 발생) / 검증:
uname -r을 통해 패치 적용 버전 확인.
- 조치: 영향받는 버전(4.19.99 ~ 6.18.3 범위 내 해당 버전)에서
잔여 리스크: 패치 후에도 동일한 모듈 내 다른 입력값 검증 미흡으로 인한 유사 NULL 역참조 취약점이 존재할 가능성이 있습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.0016 · exploit=hard · in_scope=None