[공격] 분석 — CVE-2026-9772
CVE-2026-9772 is a high-severity RCE vulnerability in Unraid Web Server's FileUpload.php requiring authentication, necessitating an immediate upgrade to version 7.3.0 or later.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.01115 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: FileUpload.php 내에서 사용자 입력 문자열을 검증 없이 시스템 콜(System Call)에 전달하는 결함이 존재함. 공격자가 파일 업로드 요청 시 특정 파라미터에 쉘 메타문자(;, |, `, $())를 삽입하면, 웹 서버가 이를 명령어로 해석하여 실행함.
(2) 공격 단계:
- 정찰: Unraid 관리 페이지 접속 및 버전 확인 (7.3.0 미만 여부).
- 초기 접근: 유효한 계정 권한 획득 필요 (
PR:L). 인증된 세션을 통해FileUpload.php엔드포인트에 접근. - 실행·권한 획득: 파일 업로드 요청의 파라미터에 Command Injection 페이로드를 삽입하여 전송 $\rightarrow$
www-data권한으로 임의 명령어 실행. - 지속 및 영향: 리버스 쉘(Reverse Shell)을 생성하여 외부 C2 서버와 연결하거나, 웹 루트에 웹쉘(Webshell)을 생성하여 지속성 확보.
(3) 공격 표면:
- 엔드포인트:
/FileUpload.php(추정: 파일 업로드 처리 경로) - 파라미터: 파일명, 경로 또는 기타 사용자 정의 문자열 입력 필드.
- 프로토콜: HTTP/HTTPS POST 요청.
(4) CVSS 벡터 분석: AV:N(네트워크를 통해 원격 공격 가능), AC:L(공격 복잡도 낮음), PR:L(인증된 사용자 권한 필요), UI:N(사용자 상호작용 불필요). 즉, 내부 계정을 탈취했거나 낮은 권한의 계정만 있어도 시스템 명령어를 실행할 수 있는 구조임.
악용 가능성: 본 취약점은 네트워크를 통해 접근 가능(AV:N)하고 공격 복잡도가 낮으나(AC:L), 반드시 유효한 계정 권한이 필요(PR:L)하므로 실제 공격 난이도는 'Hard'로 판정됩니다. 공격 표면은 Unraid 관리 웹 인터페이스의 FileUpload.php 엔드포인트이며, 파일 업로드 과정에서 사용자 입력값이 시스템 콜로 전달되는 파라미터가 핵심 트리거 지점입니다. EPSS 수치가 0.01115로 낮고 KEV에 등재되지 않은 점은 현재 대규모 자동화 공격이 발생하고 있지는 않음을 시사하지만, 인증된 사용자가 www-data 권한으로 임의 명령을 실행할 수 있다는 점에서 내부 위협이나 계정 탈취 후의 2차 공격 경로로 매우 치명적입니다. 공격 체인은 [유효 계정 확보 $\rightarrow$ FileUpload.php 대상 특수문자 주입 $\rightarrow$ OS Command Injection 트리거 $\rightarrow$ www-data 권한 쉘 획득] 순으로 진행됩니다. 특히 단순 RCE에 그치지 않고, 획득한 웹 서버 권한을 기반으로 Unraid 시스템의 설정 파일이나 민감 정보를 탐색하여 루트(Root) 권한까지 상승시키는 권한 상승 취약점과의 체이닝 가능성이 매우 높습니다. 따라서 방어자는 외부 노출 여부보다 내부 인증된 사용자에 의한 비정상적인 시스템 호출 발생 여부를 핵심 위협으로 간주해야 합니다.
💥 영향 분석
(1) 기술적 위험:
- 시스템 장악:
www-data권한으로 OS 명령어를 실행하므로 웹 서버 제어권 획득. - 데이터 유출: Unraid 내 저장된 설정 파일, 사용자 데이터 및 네트워크 공유 자원에 접근 가능.
- 횡적 이동: 획득한 권한을 기반으로 내부 네트워크 스캔 및 다른 서비스로의 공격 확장.
(2) 비즈니스 영향: NAS/서버 솔루션 특성상 저장된 모든 데이터의 기밀성·무결성이 파괴되며, 랜섬웨어 감염 시 전체 스토리지 가용성이 상실됨.
🔗 관련 취약점·체이닝
- 권한 상승 체인:
www-data(Low Privilege) $\rightarrow$ 추정: 커널 취약점 또는 설정 오류(SUID 등)를 이용해root권한으로 상승하는 경로가 일반적임. - 정보 노출 체인: 추정: 다른 정보 노출 취약점을 통해 관리자 계정 정보를 획득 $\rightarrow$ 본 RCE 취약점으로 진입하여 시스템 장악.
- 패턴:
CWE-78 (OS Command Injection)유형으로, 입력값 필터링 미비가 실행 권한 획득으로 이어지는 전형적인 체인임.
🔎 탐지
(1) 로그 지표: 웹 서버 액세스 로그(access_log) 내 /FileUpload.php 요청 경로 및 POST 바디(필요 시)에서 쉘 특수문자 포함 여부 확인.
(2) 탐지 규칙:
- Rule 1 (HTTP Request):
request_uri == "/FileUpload.php" AND (payload matches /[;|&$()]/)` - Rule 2 (Process):
parent_process == "php" OR "httpd" AND child_process IN ["/bin/sh", "/bin/bash", "nc", "curl", "wget"] - Rule 3 (Network): 웹 서버 프로세스가 외부 IP로 비정상적인 아웃바운드 연결(Reverse Shell 패턴)을 시도하는지 감시.
(3) 오탐 및 튜닝: 정상적인 파일명에 특수문자가 포함될 수 있음. 단순히 문자열 매칭보다는 whoami, cat /etc/passwd 등 전형적인 정찰 명령어 패턴과 결합하여 탐지 정밀도를 높여야 함.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 외부에서 Unraid 관리 페이지로의 접근을 방화벽(ACL)으로 제한하고 VPN 사용 강제. (난이도: 저 / 영향: 운영 마찰 발생)
- 단기(완화):
- 웹 애플리케이션 방화벽(WAF)에 Command Injection 시그니처 적용 및
/FileUpload.php요청 모니터링 강화. (난이도: 중 / 영향: 성능 저하 미미)
- 웹 애플리케이션 방화벽(WAF)에 Command Injection 시그니처 적용 및
- 근본(해결):
- Unraid 버전을 7.3.0 이상으로 업데이트. (난이도: 저 / 영향: 재부팅 필요, 가용성 일시 중단)
- 검증 방법: 업데이트 후
FileUpload.php에 특수문자 입력 시 명령어가 실행되지 않고 에러 처리되는지 확인.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.01115)과 CVSS 8.8을 기반으로 분석되었습니다. EPSS 수치는 현재 실제 악용 빈도가 낮음을 뜻하나, RCE라는 치명적 영향도와 낮은 공격 복잡도로 인해 'scheduled' 우선순위로 결정되어 이번 주 내 대응이 권고됩니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.01115 · exploit=hard · in_scope=None