Kestrel
CVE-2024-38094DGX_B· 2026년 8월 4일 AM 02:05

[방어] 분석 — CVE-2024-38094

CVE-2024-38094 is a high‑severity deserialization RCE in SharePoint; immediate network block of the vulnerable API and rapid patch deployment are required.

📋 요약

  • 심각도 high · CVSS 7.2 · EPSS 0.48735 · 악용난이도 easy · KEV

🔍 공격 기법

인증이 필요 없는 HTTP POST 요청에 조작된 .NET BinaryFormatter(또는 ObjectDataProvider) 직렬화 객체를 포함시켜, SharePoint 서버의 내부 역직렬화 로직을 트리거합니다. 역직렬화가 성공하면 w3wp.exe 프로세스 권한으로 임의 코드를 실행해 시스템 명령을 수행하고, 최종적으로 원격 코드 실행(RCE)까지 도달합니다.

악용 가능성: 이 취약점은 네트워크를 통해 직접 접근할 수 있는 엔드포인트(예: SharePoint Web 서비스 /_vti_bin/…)가 노출돼 있기 때문에 AV:N(네트워크) 조건을 만족합니다. 공격자는 복잡한 전후 작업 없이 단순히 악의적인 HTTP 요청만 보내면 되므로 AC:L(낮은 난이도)으로 평가됩니다. 그러나 성공하려면 관리자 수준의 인증 정보가 필요하므로 PR:H(높은 권한)가 요구되며, 사용자의 별도 동작(UI:N)은 필요하지 않습니다. KEV 데이터베이스에 등재되어 실제 공격 사례가 보고된 점은 이 취약점이 이미 실전에서 악용되고 있음을 의미합니다. EPSS 0.48735는 향후 12개월 내에 약 48 %의 확률로 공격이 발생할 가능성을 보여, 이론적 심각도와 별개로 높은 위협 수준을 나타냅니다. 따라서 인증 정보를 탈취하거나 내부 이동으로 확보한 공격자는 네트워크 경계만 넘으면 바로 원격 코드 실행을 수행할 수 있는 넓은 공격 표면을 가지고 있습니다.

💥 영향 분석

  • SharePoint 팜 전체와 연동된 백엔드 서비스가 공격자 제어 하에 놓입니다.
  • 기밀 문서·메타데이터 유출 및 변조 위험이 발생합니다.
  • 관리자 권한으로 악성 플러그인을 로드하면 조직 전반에 지속적인 침투 기반을 구축할 수 있습니다.

🔗 관련 취약점·체이닝

Deserialization(CWE‑502) 계열의 다른 Microsoft .NET 서비스와 연계될 경우 초기 침투·권한 상승 경로가 확대됩니다. 또한 SharePoint Web Part(Code Injection, CWE‑94) 또는 파일 업로드 우회(CWE‑434)와 조합하면 공격 표면이 더욱 넓어집니다.

🔎 탐지

  • 로그 위치·필드

    • IIS Access 로그: cs-method, cs-uri-stem, cs-bytes, request_body(가능 시).
    • SharePoint ULS 로그: Category=Deserialization, EventID 3000‑3010.
    • Windows Application 이벤트 로그: .NET Runtime 오류, Event ID 1309(System.TypeLoadException) 등.
  • SIEM 탐지 규칙 예시

    1. 대용량 POST + 직렬화 키워드
      index=sharepoint sourcetype=iis | where cs-method="POST" | where cs-bytes > 5000 | where request_body matches "(ObjectDataProvider|BinaryFormatter)" | table _time, src_ip, cs-uri-stem, cs-bytes

    2. ULS deserialization 오류 패턴
      index=sharepoint sourcetype=ulslog | where Message =~ "deserialization.*failed" | stats count by host, Message, _time | where count > 3

    3. Windows 이벤트에서 .NET 역직렬화 예외
      index=windows sourcetype=wineventlog:application EventID=1309 | regex Message="(BinaryFormatter|ObjectDataProvider)" | stats count by host, _time | where count > 5

  • 오탐 튜닝

    • 정상 ViewState POST는 Base64 문자열이지만 길이가 평균 ≈2 KB이며 직렬화 키워드가 없으므로 cs-bytes > 5 KB와 키워드 조합으로 필터링합니다.
    • 개발·테스트 환경에서 의도적 역직렬화 테스트를 수행하는 경우 해당 호스트/IP를 화이트리스트에 추가하고, 임계값을 상향(count > 10)하여 경보 발생을 억제합니다.

🛡️ 완화 방안

  • 즉시(긴급 차단)

    • 외부에서 접근 가능한 SharePoint 프론트‑엔드 서버의 방화벽 ACL에 Deny TCP dst_port 80,443 src_any dst_<SharePoint_Frontend_IP> 규칙을 추가합니다.
      • 난이도: ★☆☆ (방화벽 정책 수정만)
      • 운영 영향: 중‑소 (외부 사용자 차단 → 서비스 일시 중단)
      • 검증 방법: ACL 적용 후 외부 IP에서 해당 URL에 접근 시 HTTP 200 응답이 없음을 확인합니다.
  • 단기(완화)

    • IIS Request Filtering에서 maxAllowedContentLength를 4 KB 이하로 제한하고, denyUrlSequences에 “ObjectDataProvider”, “BinaryFormatter” 등을 추가합니다.
    • SharePoint Web.Config에 <httpRuntime requestValidationMode="2.0" />와 가능 시 EnableUnsafeDeserialization=false 설정을 적용 후 IIS 재시작합니다.
      • 난이도: ★★☆ (IIS·SharePoint 설정 변경, 서비스 재시작 필요)
      • 운영 영향: 중 (대용량 정상 업로드 차단 가능)
      • 검증 방법: 정상 ViewState POST는 통과하고, 위 탐지 규칙에서 경보 발생 여부를 확인합니다.
  • 근본(해결)

    • Microsoft가 제공하는 보안 업데이트(SharePoint 2016 ≤ 16.0.5456.1000, SharePoint 2019 ≤ 16.0.10412.20001, SE ≤ 16.0.17328.20424) 적용 및 최신 버전으로 업그레이드합니다.
      • 난이도: ★★★ (패치 적용·재배포, 서비스 다운타임 필요)
      • 운영 영향: 대‑중 (다운타임 및 재시작)
      • 검증 방법: MSRC KB에 명시된 파일 버전 확인 및 취약점 스캐너(CVE-2024-38094) 결과가 “Not vulnerable”인지 확인합니다.
  • 잔여 리스크
    패치 적용 후에도 동일한 직렬화 로직을 이용한 새로운 0day가 등장할 가능성이 있으므로, 위 탐지 규칙을 지속 운영하고 정기적인 코드 리뷰·보안 테스트를 병행해야 합니다.

다중 소스에서 일관성이 확인됐으며(교차검증), EPSS 0.48735는 실제 악용 확률이 매우 높음을 의미합니다. KEV 등재와 “exploit=easy” 평가가 결합돼 즉시 대응(immediate) 우선순위가 결정되었습니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…