Kestrel
CVE-2019-0604DGX_F· 2026년 8월 3일 AM 04:04

[단독방어] 분석 — CVE-2019-0604

The CVE-2019-0604 remote code execution in Microsoft SharePoint can be instantly mitigated by blocking unauthenticated WSP package uploads, while comprehensive detection should monitor IIS/ULS logs for suspicious .wsp deployment attempts.

📋 요약

  • 심각도 critical · CVSS 9.8 · EPSS 0.99825 · 악용난이도 easy · KEV

🔍 공격 기법

SharePoint가 애플리케이션 패키지(.wsp)의 소스 마크업을 검증하지 않아, 공격자는 악성 XML/스크립트를 포함한 패키지를 HTTP POST로 업로드하면 서버가 이를 로드하면서 임의 코드를 실행한다. 인증이 필요 없으며, 정상적인 배포 절차와 동일한 경로를 이용한다.

악용 가능성: 이 취약점은 AV:N/AC:L/PR:N/UI:N 이라는 CVSS 벡터가 의미하듯, 네트워크를 통해 원격에서 별도의 인증·권한 없이 간단한 요청만으로 악용할 수 있습니다. EPSS 값이 0.99825 로 거의 100%에 가까워 실제 공격이 발생할 확률이 매우 높으며, KEV 목록에 등재돼 이미 실증된 악용 사례가 존재함을 확인할 수 있습니다. 공격자는 SharePoint 서버의 application package upload 엔드포인트(예: /_layouts/15/appcatalog.aspx) 또는 REST API 등을 이용해 조작된 마크업이 포함된 패키지를 전송하면, 검증 부재로 인해 서버 측에서 임의 코드를 실행하게 됩니다. 패키지 메타데이터와 XML 본문에 삽입되는 malicious markup 이 바로 트리거 조건이며, 별도의 사용자 클릭이나 추가 인증 절차가 필요하지 않습니다. 따라서 공격 표면은 SharePoint 웹 서비스 전반(HTTP/HTTPS)과 파일 업로드·배포 로직에 노출된 모든 파라미터가 대상이 되며, 내부망에 있더라도 외부에서 직접 접근 가능한 경우 동일하게 위험합니다. 이러한 특성 때문에 난이도는 “easy”로 평가되며, 실제 악용 가능성이 매우 높다고 판단됩니다.

💥 영향 분석

  • 원격 코드 실행 → 전체 SharePoint 서버 및 호스트 OS에 대한 관리자 권한 획득
  • 데이터 유출·변조 (문서 라이브러리, 사용자 프로필)
  • 추가 악성 페이로드 설치·영속화, 내부 네트워크로의 lateral movement

🔗 관련 취약점·체이닝

  • 추정: 입력 검증 부재(CWE‑20)와 직렬화/역직렬화 오류(CWE‑502)가 결합된 패턴은 다른 웹 플랫폼에서도 유사하게 활용될 수 있다.
  • 추정: 성공적인 RCE 후, 권한 상승용 SharePoint 내부 API(예: /_vti_bin/*)를 체이닝하면 도메인 수준 권한을 확대할 수 있다.

🔎 탐지

  • 로그 지표

    • SharePoint ULS 로그: EventID=AppInstalled 혹은 SolutionDeployment 항목에 “Package” 필드에 .wsp 파일명·경로가 기록됨.
    • IIS 요청 로그: POST / _layouts/15/appinstall.aspx 또는 / _api/web/GetFileByServerRelativeUrl 에서 Content-Type: application/octet-stream 과 함께 비정상적인 파일 크기(> 5 MB) 혹은 특수 XML 태그(\<CustomAction\>, \<WebPart\>)가 포함된 경우.
    • Windows Security 로그: “SharePoint Administration” 그룹이 아닌 계정이 Add-SPSolution 명령을 실행한 이벤트.
  • SIEM 탐지 규칙 예시

    1. 패키지 업로드 시도 탐지
text
1source = iis
2| where uri_path matches regex "^/_layouts/15/appinstall\.aspx$"
3| where http_method == "POST"
4| where request_body contains ".wsp"
5| where not (client_ip in trusted_admin_ips)
  1. ULS 솔루션 배포 로그 탐지
text
1source = uls
2| where event_id == "AppInstalled" or event_id == "SolutionDeployment"
3| where message contains ".wsp"
4| where user not in ("domain\sharepoint_admins")
  1. PowerShell 배포 명령 탐지
text
1source = windows_event
2| where provider_name == "Microsoft-Windows-PowerShell"
3| where event_id == 4104
4| where scriptblock_text matches regex "(Add|Install)-SPSolution.*\.wsp"
  • 오탐 튜닝
    • 정상적인 관리자 배포는 user 필드가 AD ‘SharePoint Administrators’ 그룹에 속하거나, client_ip 가 내부 관리 서브넷인 경우 제외.
    • 파일 크기 임계값을 5 MB 이하로 설정하면 대용량 백업 파일 등에 대한 오탐을 감소시킨다.

🛡️ 완화 방안

  • 즉시(긴급 차단)

    • 조치: SharePoint Central Administration 또는 PowerShell(Set-SPFarmConfig –EnableCustomScript $false) 로 사용자 정의 스크립트·앱 패키지 업로드 기능을 비활성화.
    • 난이도: 낮음 (CLI 한 줄).
    • 운영 영향: 기존에 배포된 커스텀 솔루션은 계속 동작하지만, 신규 배포가 차단되어 개발·배포 업무에 일시적 마찰 발생.
    • 검증: Get-SPFarmConfig | Select EnableCustomScript 값이 $false 인지 확인하고, 테스트 계정으로 .wsp 업로드 시도해 403 응답을 확인.
  • 단기(완화)

    1. 패키지 서명 검증 강제RequireSignedSolutions = $true 로 설정하여 신뢰된 인증서로 서명되지 않은 패키지는 배포 차단.
      • 난이도: 중간 (PowerShell 스크립트와 정책 적용).
      • 운영 영향: 기존 비서명 솔루션은 재배포 필요.
    2. WAF/IPS ACL – 외부 IP가 / _layouts/15/appinstall.aspx 로 POST 요청을 보내는 것을 차단하고, 내부 관리 서브넷만 허용.
      • 난이도: 낮음 (방화벽 규칙 추가).
      • 운영 영향: 정상적인 원격 관리가 제한될 수 있으므로 IP 화이트리스트 유지 필요.
    3. 모니터링 강화 – 위 탐지 규칙을 실시간 알림으로 연결하고, 1 시간 내 이상 시 자동 차단 워크플로를 구성.
  • 근본(해결)

    • 조치: Microsoft에서 제공한 보안 업데이트(KB XXXX) 적용 → 마크업 검증 로직이 추가된 최신 SharePoint Server/Foundation 버전으로 업그레이드.
    • 난이도: 높음 (패치 테스트, 서비스 재시작 필요).
    • 운영 영향: 서버 재부팅·서비스 중단(계획적 유지보수 창 필요).
    • 검증: 패치 적용 후 ULS 로그에 SolutionDeployment 이벤트가 정상적인 서명 검증 과정을 거치는지 확인하고, 취약점 스캐너(VulnScanner)에서 CVE-2019-0604가 “Not Vulnerable” 로 보고되는지 점검.

패치 이후에도 남는 잔여 리스크

  • 기존에 배포된 악성 솔루션이 이미 실행 중인 경우, 재시작하거나 해당 솔루션을 수동으로 제거해야 한다.
  • 동일한 입력 검증 로직 결함이 다른 SharePoint API에 존재할 가능성이 있으므로, 정기적인 코드 리뷰와 보안 테스트를 지속한다.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=9.8 · KEV · EPSS=0.99825 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…