[단독공격] 분석 — CVE-2020-1147
CVE-2020-1147 enables remote code execution through malicious XML markup in .NET Framework/SharePoint/Visual Studio, demanding immediate patching and disabling of DTD processing.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.93966 · 악용난이도 easy · KEV
🔍 공격 기법
- 트리거 조건: .NET Framework, SharePoint Server 또는 Visual Studio가 외부에서 제공된 XML 파일을 검증 없이 파싱할 때 발생. 특히
System.Xml.XmlReader, XSLT 변환 API 등. - 공격 표면
- 웹 서비스·SOAP 엔드포인트 (
/_vti_bin/…등) - SharePoint 문서 업로드, Visual Studio 원격 디버그, 구성 파일 자동 로딩
- 웹 서비스·SOAP 엔드포인트 (
- 단계별 흐름
- 정찰 – 대상 서버가 취약한 .NET Runtime 버전을 사용 중인지 확인(HTTP 헤더, 서비스 배너). XML을 받아들이는 엔드포인트 탐색.
- 초기 접근 – 악의적인 DOCTYPE/외부 엔티티 혹은 XSLT 스크립트를 포함한 XML을 전송. UI:R 특성으로 피싱 이메일·악성 문서 열람 등 사용자의 직접 행동이 필요하지만, 한 번 실행되면 원격 효과를 발휘.
- 실행·권한 획득 – 파싱 과정에서 객체 역직렬화가 이루어져 임의 코드가 해당 프로세스 권한(대개 IIS APPPOOL 또는 Visual Studio 사용자)으로 실행. PR:N, AC:L 로 복잡도 낮음.
- 지속 – 시스템 서비스·레지스트리·스케줄된 작업을 생성해 영구적 제어 확보.
- 영향 – 전체 시스템 장악 → 데이터 탈취·네트워크 확산·서비스 방해.
- CVSS 벡터와 실제 조건 매핑: AV:L(로컬) + UI:R(사용자 상호작용) ⇒ 피싱·문서 열람 등으로 원격 효과 구현. AC:L, PR:N 로 공격 난이도 낮음.
- EPSS 0.93966 은 실측 악용 가능성이 거의 최고 수준임을 의미하며, KEV 등재와 결합해 즉시 대응 필요성을 뒷받침한다.
악용 가능성: CVSS 벡터 AV:L/AC:L/PR:N/UI:R는 공격자가 로컬(또는 내부 네트워크)에서 파일을 제공하고, 복잡도가 낮으며 권한이 필요 없고, 사용자의 XML 파일 열기와 같은 사용자 상호작용만 있으면 된다는 실제 전제조건을 의미합니다. EPSS 0.93966이라는 높은 실측값과 KEV 등재는 이 취약점이 이미 현장에서 악용되고 있음을 강력히 입증합니다. 트리거 조건은 .NET Framework, SharePoint Server, Visual Studio가 XML 파일의 마크업을 검증하지 않을 때 발생하며, 조작된 XML이 파싱되면 원격 코드 실행(RCE)이 바로 일어납니다. 공격 표면으로는 SharePoint 문서 라이브러리·웹 서비스·API 등에서 XML 파일을 받아들이는 모든 엔드포인트와, 파일 업로드 필드 혹은 URL 파라미터가 포함됩니다. 해당 엔드포인트는 주로 HTTP/HTTPS 프로토콜을 통해 접근되며, UNC 경로나 로컬 파일 시스템 경로를 지정할 수 있는 파라미터도 노출됩니다. 공격 흐름은 먼저 대상 서비스의 파일 업
💥 영향 분석
- 임의 명령 실행 → 시스템 전체 장악.
- SharePoint 서버·Visual Studio 개발 환경·Windows Server 전반에 걸친 권한 상승.
- 민감 데이터 탈취, 인증 정보 수집, 내부 네트워크 lateral movement.
- 악성 프로세스 생성·서비스 중단 등 서비스 가용성 저하.
🔗 관련 취약점·체이닝
- 추정: XML External Entity (XXE) 검증 부재(CWE‑611)와 객체 역직렬화 미검증(CWE‑20)이 결합돼 원격 코드 실행으로 이어지는 패턴.
- 추정: 초기 RCE 후 파일 쓰기 권한을 이용해 DLL hijacking(CWE‑428) 또는 모듈 로딩 경로 조작으로 추가 악성 코드를 삽입할 수 있음.
- 추정: 획득된 프로세스 권한을 활용해 Windows 서비스 설치 취약점(CWE‑274)이나 레지스트리 키 수정(CWE‑276)으로 영구화하는 체인.
🔎 탐지
- Event Viewer·Windows 로그에
System.Xml파싱 오류, 비정상적인 DOCTYPE 선언, 외부 엔티티 로드 시도 기록. - 프로세스 트리거:
w3wp.exe → cmd.exe,devenv.exe → powershell.exe등 비정상적 자식 프로세스 생성 감지. - IDS/IPS 규칙으로
<!DOCTYPE ... SYSTEM "http://...">같은 외부 엔티티 패턴을 탐지.
🛡️ 완화 방안
- Microsoft 보안 업데이트(해당 KB) 즉시 적용 – 가장 근본적인 해결책.
- .NET Framework/.NET Core 런타임을 최신 버전으로 업그레이드.
- XML 파싱 시 `
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=7.8 · KEV · EPSS=0.93966 · exploit=easy · in_scope=None