Kestrel
CVE-2025-21780DGX_2· 2026년 7월 28일 PM 11:54

[공격] 분석 — CVE-2025-21780

Buffer overflow in smu_sys_set_pp_table() via sysfs allows local privilege escalation; update Linux kernel to the patched version immediately.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00258 · 악용난이도 hard

🔍 공격 기법

  1. 트리거 조건: drm/amdgpu 드라이버의 smu_sys_set_pp_table() 함수에서 발생. 사용자가 sysfs 인터페이스를 통해 작은 크기의 pptable을 먼저 제공한 뒤, 이어서 더 큰 크기의 pptable을 입력하면 버퍼 오버플로우가 트리거됨.
  2. 공격 단계:
    • 정찰: 시스템에 AMD GPU가 탑재되었는지 및 커널 버전이 취약 범위(6.1.129 미만 등)인지 확인.
    • 초기 접근: 로컬 쉘 권한 확보 (AV:L, PR:L). sysfs 노드에 쓰기 권한이 있는 사용자 계정 필요.
    • 실행 및 권한 획득: 작은 데이터 $\rightarrow$ 큰 데이터 순으로 pptable을 주입하여 커널 메모리 영역의 인접 데이터를 덮어씀. 이를 통해 함수 포인터나 커널 구조체를 조작하여 Root 권한 획득 시도.
    • 영향: 커널 모드에서의 임의 코드 실행(AACE) 또는 시스템 크래시(DoS).
  3. 공격 표면: sysfs 내 AMDGPU SMU 관련 엔드포인트 (추정: /sys/class/drm/cardX/device/pptable).
  4. CVSS 벡터 분석:
    • AV:L / PR:L: 원격 공격은 불가능하며, 로컬 계정을 가진 공격자가 시스템 내부에서 접근해야 함.
    • AC:L / UI:N: 특별한 설정이나 사용자 상호작용 없이 입력값 조작만으로 트리거 가능.

악용 가능성: 본 취약점은 AV:LPR:L 조건에 따라 로컬 시스템에 이미 접근 권한을 가진 일반 사용자가 트리거할 수 있는 구조입니다. 공격 표면은 /sys/class/drm/cardX/device/pptable과 같은 sysfs 엔드포인트로, 이곳에 조작된 크기의 pptable 데이터를 순차적으로 쓰기(Write) 하는 방식으로 smu_sys_set_pp_table() 함수의 버퍼 오버플로우를 유도합니다. EPSS 수치가 0.00258로 매우 낮고 KEV에 등재되지 않은 점은 외부에서 즉각적으로 활용 가능한 공개 익스플로잇이 희귀하며, 공격자가 타겟 시스템의 커널 버전과 GPU 드라이버 환경을 정확히 파악해야 함을 의미합니다. 따라서 이론적인 심각도와 달리 실제 악용 가능성은 낮으나, 로컬 권한 상승(LPE)을 노리는 정교한 공격자에게는 유효한 벡터가 됩니다. 결과적으로 낮은 공격 복잡도(AC:L)에도 불구하고, 물리적/논리적 로컬 접근이라는 전제 조건과 하드웨어 종속성으로 인해 전체적인 공격 난이도는 hard로 판정됩니다.

💥 영향 분석

  1. 기술적 위험:
    • 권한 상승 (Privilege Escalation): 일반 사용자 권한에서 커널 권한(Ring 0)으로 상승 가능.
    • 시스템 가용성 파괴: 메모리 오염으로 인한 Kernel Panic 및 시스템 즉각 중단.
  2. 비즈니스 영향: GPU 가속을 사용하는 워크스테이션이나 서버의 경우, 단일 사용자 계정 탈취가 전체 시스템 장악으로 이어져 데이터 기밀성 상실 및 서비스 중단 위험 초래.

🔗 관련 취약점·체이닝

  • 공격 체인: Local User Access $\rightarrow$ sysfs Interface Manipulation $\rightarrow$ Memory Corruption (Buffer Overflow) $\rightarrow$ Privilege Escalation.
  • 추정 체이닝:
    • 정보 노출 $\rightarrow$ 메모리 오염: 커널 주소 공간 배치 난독화(KASLR)를 우회하기 위해, 다른 커널 정보 유출 취약점(Information Leak)과 체이닝하여 정확한 덮어쓰기 주소를 계산할 가능성이 높음.
    • 권한 상승 $\rightarrow$ 지속성 확보: Root 권한 획득 후 커널 모듈 로드나 시스템 바이너리 수정을 통해 백도어를 설치하는 단계로 확장 가능.

🔎 탐지

  1. 로그 지표: sysfs 파일 시스템의 특정 경로에 대한 비정상적으로 빈번하거나 크기가 급변하는 Write 요청 로그 (Auditd 설정 시 기록됨).
  2. 탐지 규칙:
    • Rule 1 (Auditd): type=SYSCALL msg=audit(...) a0=write AND path="/sys/class/drm/card*/device/pptable" $\rightarrow$ 짧은 시간 내 반복적인 쓰기 발생 감시.
    • Rule 2 (Behavioral): GPU 제어 관련 sysfs 노드에 대한 일반 사용자의 접근 및 수정 시도 탐지.
  3. 오탐 시나리오: GPU 오버클러킹 도구(예: Radeon Software, 오픈소스 튜닝 툴)가 pptable을 업데이트할 때 발생 가능. $\rightarrow$ 신뢰할 수 있는 바이너리 경로(Hash 기반)에서 발생하는 요청인지 화이트리스트 필터링 필요.

🛡️ 완화 방안

  • 즉시 (긴급 차단): 일반 사용자의 /sys/class/drm/cardX/device/pptable 쓰기 권한 제거 또는 접근 제어 리스트(ACL) 강화. (난이도: 하 / 영향: GPU 튜닝 도구 작동 불가 / 검증: ls -l로 권한 확인)
  • 단기 (완화): SELinux나 AppArmor를 사용하여 특정 프로세스 외에는 해당 sysfs 경로에 접근하지 못하도록 강제 제한. (난이도: 중 / 영향: 정책 설정 오버헤드 / 검증: audit2allow 로그 확인)
  • 근본 (해결): Linux 커널을 패치된 버전(6.1.129+, 6.6.79+, 6.12.16+, 6.13.4+ 등)으로 업데이트. (난이도: 중 / 영향: 시스템 재부팅 필요 / 검증: uname -r로 버전 확인)

[분석 근거] 본 리포트는 다중 소스 데이터의 일관성이 확인된 교차검증 결과에 기반함. EPSS 수치는 0.00258(백분위 0.17441)로 매우 낮아 실제 야생에서의 악용 가능성은 현재 낮은 상태임. 따라서 KEV 미등재 및 exploit=hard 등급을 반영하여 우선순위를 scheduled(이번 주 내)로 결정함.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=7.8 · non-KEV · EPSS=0.00258 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…