[단독방어] 분석 — CVE-2025-49704
CVE-2025-49704 is a high‑severity RCE in SharePoint 2016/2019 that can be exploited over the network, and immediate blocking of malicious request patterns via a WAF rule is recommended.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.99915 · 악용난이도 easy · KEV
🔍 공격 기법
- 네트워크를 통해 직접 접근 가능한 URL에 조작된 파라미터를 삽입 → SharePoint 내부에서 동적으로 코드를 생성하고 실행.
- CVSS 벡터 AV:N/AC:L/PR:L/UI:N 로, 인증이 낮은 계정(또는 일부 경우 무인증)만 있으면 공격 가능.
- 코드 인젝션은
System.Reflection혹은Eval호출을 포함한 스크립트 문자열이 서버 측에 전달될 때 발생.
악용 가능성: 이 취약점은 CVSS 벡터 AV:N/AC:L/PR:L/UI:N 로 평가되어, 네트워크를 통해 원격에서 낮은 복잡도로 제한된 권한만으로도(일반 사용자 수준) 공격자가 별도의 사용자 조작 없이 코드를 실행할 수 있음을 의미합니다. EPSS 값이 0.99915 로 매우 높게 측정되었으며, 이는 실제 악용 가능성이 거의 확실함을 통계적으로 보여줍니다. 또한 KEV(악용된 취약점) 목록에 등재돼 있어 이미 공격자들에 의해 활발히 이용되고 있음을 확인할 수 있습니다. 트리거 조건은 SharePoint 서버가 외부에 HTTP/HTTPS 엔드포인트를 공개하고, 코드 생성 로직을 포함한 API(예: /_vti_bin/, /_layouts/) 혹은 OData 쿼리 파라미터를 입력받는 경우에 성립합니다. 공격 표면은 해당 엔드포인트와 파라미터가 외부 네트워크에서 접근 가능하도록 설정된 모든 SharePoint 인스턴스로, 방화벽이나 인증 프록시 없이 직접 노출될 경우 위험이 급증합니다. 따라서 제한된 권한을 가진 계정이라도 악의적인 입력값을 전달하면 원격 코드 실행이 즉시 이루어질 수 있습니다.
💥 영향 분석
- 성공 시 원격에서 임의의 PowerShell/CLR 코드를 실행해 전체 SharePoint 팜 및 연계된 백엔드 시스템을 장악.
- 기밀성(C), 무결성(I), 가용성(A) 모두 ‘High’ 수준으로 손상될 수 있음(데이터 탈취·변조·서비스 중단).
🔗 관련 취약점·체이닝
- 추정: 동일한 CWE‑94 (Improper Control of Generation of Code) 패턴을 이용하는 과거 SharePoint 코드 인젝션 취약점들과 연계될 수 있음.
- 추정: 악용된 RCE 후, 권한 상승(CWE‑269)이나 파일 업로드(CWE‑434) 등 다른 취약점과 체이닝하여 영구적인 백도어를 심을 가능성이 존재함.
🔎 탐지
| 로그 소스 | 주요 필드/패턴 |
|---|---|
| IIS Access Log (SharePoint 웹 프론트엔드) | cs-uri-stem, cs-uri-query에 <%, eval(, System.Reflection 문자열이 포함된 요청 |
| SharePoint ULS 로그 | Category=CodeExecution, EventID=0x80004005 등 오류 메시지와 함께 “ScriptBlock” 텍스트 |
| Windows Security Event (4688) | 신규 프로세스 생성 시 powershell.exe -EncodedCommand 혹은 csc.exe 호출 기록 |
| PowerShell‑Operational 로그 | ScriptBlockText 필드에 대용량 Base64 인코딩 문자열 등장 |
1index=sharepoint sourcetype=iis_access 2| regex cs-uri-query "(?i)(<%[^>]*%>|eval\(|System\.Reflection)" 3| stats count by src_ip, cs_uri_stem, cs_uri_query 4| where count > 5 AND src_user!="admin"🛡️ 완화 방안
- Custom Script 기능 비활성화 (
Set‑SPWeb –Identity <site> –AllowUnsafeUpdates $false).- 난이도: ★★☆☆☆, 영향: 일부 사용자 정의 스크립트가 동작하지 않음, 검증: 사이트 컬렉션에서 스크립트 실행 여부 테스트.
- 입력 필터링 강화 – IIS Request Filtering에
DenyStringSequence로<%,eval(,System.Reflection차단.- 난이도: ★★☆☆☆, 영향: 정상적인 개발 배포 시 재검토 필요, 검증: 차단 로그 확인.
- 권한 최소화 – SharePoint 관리자 권한을 가진 계정 수를 최소화하고, low‑privilege 사용자에게는 해당 엔드포인트 접근 금지 정책 적용.
- 난이도: ★★★☆☆, 영향: 관리 절차 변경 필요, 검증: AD 그룹 멤버십 및 ACL 확인.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=8.8 · KEV · EPSS=0.99915 · exploit=easy · in_scope=None