[방어] 분석 — CVE-2023-24955
CVE-2023-24955 enables remote code execution on vulnerable SharePoint Servers, requiring immediate blocking of the exploited REST endpoint while patching is prepared.
📋 요약
- 심각도 high · CVSS 7.2 · EPSS 0.85395 · 악용난이도 easy · KEV
🔍 공격 기법
SharePoint Server가 HTTP POST 요청을 통해 특정 SOAP / REST API에 전달되는 XML 데이터를 파싱할 때, 입력 검증이 부족해 원격 코드 실행(RCE) 문자열이 삽입됩니다. 공격자는 인증된 사용자 권한(PR=H)을 이용해 네트워크 내부에서 직접 악성 페이로드를 전송하면, 서버 프로세스가 해당 코드를 실행하고 시스템 권한을 획득합니다.
악용 가능성: Microsoft SharePoint Server 원격 코드 실행 취약점은 네트워크를 통해 직접 접근할 수 있는 AV:N 환경에서 공격이 가능하므로 외부에서 바로 시도될 수 있습니다. 복잡도가 낮은 AC:L에 비해 공격자는 관리자 권한(PR:H)이 필요하지만, SharePoint 관리 계정이 이미 존재하거나 탈취된 경우 충분히 확보 가능한 전제조건입니다. UI:N으로 사용자 개입 없이 자동화된 요청만으로 악용이 가능하므로 스크립트 기반 대량 시도에 적합합니다. EPSS 0.85395라는 높은 실측값은 이 취약점이 실제로 공격받을 확률이 85 % 이상임을 의미하며, KEV(Known Exploited Vulnerabilities) 리스트에 등재된 점은 이미 악용 사례가 보고됐음을 확인시켜 줍니다. 주요 공격 표면은 SharePoint Web 서비스의 REST API 혹은 SOAP 엔드포인트(예: /_vti_bin/*, /_layouts/15/start.aspx)이며, 특정 파라미터에 조작된 객체 직렬화 데이터를 전송하면 원격 코드가 실행됩니다. 따라서 공격자는 네트워크 접근이 가능한 위치에서 관리자 계정 자격을 확보한 뒤, 해당 엔드포인트에 정교하게 구성된 HTTP 요청만으로 시스템을 장악할 수 있습니다.
💥 영향 분석
- 성공 시 공격자는 SharePoint Web‑Application 풀의 프로세스 컨텍스트로 임의 명령을 실행할 수 있습니다.
- 파일 시스템 접근·레지스트리 수정·추가 서비스 설치 등 전사적인 침해가 가능해 기밀 데이터 유출·서비스 중단·내부 네트워크 확산 위험이 존재합니다.
🔗 관련 취약점·체이닝
- 추정: CWE‑94(코드 인젝션)와 연계된 XML 파싱 오류를 이용한 RCE 패턴은 기존에 보고된 SharePoint XML External Entity (XXE) 취약점과 결합될 수 있습니다.
- 추정: 동일한 인증 우회(CWE‑285)를 활용해 권한 상승 후 악성 스크립트를 실행하는 체이닝이 가능하므로, 사전 침투 단계에서의 세션 탈취 공격과 연계될 위험이 존재합니다.
🔎 탐지
-
로그 지표
SharePoint ULS로그:Category=Security,EventID=13001(XML 파싱 오류)와 함께RequestUrl에/_vti_bin/경로가 포함된 POST 요청이 기록됩니다.- IIS 접근 로그:
cs-method=POST,cs-uri-stem이/_vti_bin/*또는/_layouts/15/*로 시작하고,sc-status=500혹은sc-substatus=0인 경우 의심 대상.
-
SIEM 탐지 규칙 예시
- 규칙 1 – XML 파싱 오류 감지
1source = "SharePointULS" 2where Category == "Security" and EventID == 13001 3 and RequestUrl matches /_vti_bin/.+/ 4 and Message contains "<!DOCTYPE" 5alert "Potential CVE-2023-24955 exploit attempt"- 규칙 2 – 비정상 POST 트래픽
1source = "IISAccessLog" 2where cs-method == "POST" 3 and (cs-uri-stem startswith "/_vti_bin/" or cs-uri-stem startswith "/_layouts/15/") 4 and sc-status in (500, 502) 5 and timewindow(5m) > 3 6alert "High‑frequency error POST to SharePoint endpoint"- 규칙 3 – 인증된 사용자 고위 권한 사용
1source = "SecurityEventLog" 2where EventID == 4624 and LogonType == 2 3 and AccountDomain == "DOMAIN" and MemberOf contains "SharePoint_Admins" 4join on src_ip with previous rule alerts within 10m 5alert "Authenticated admin issuing suspicious POST"- 오탐 튜닝
- 정상적인 관리 작업(예: 대량 문서 업로드)에서도 위 규칙이 트리거될 수 있으므로,
cs-uri-stem에 파일 확장자.aspx,.svc등과 같이 실제 실행 파일이 아닌 경우는 제외합니다. Message contains "<!DOCTYPE"조건을<![CDATA[로 시작하는 정상 XML에는 적용되지 않도록 정규식((?<!\[CDATA\])<!DOCTYPE)으로 보강합니다.
- 정상적인 관리 작업(예: 대량 문서 업로드)에서도 위 규칙이 트리거될 수 있으므로,
🛡️ 완화 방안
-
Web Application Firewall (WAF) 규칙 – OWASP ModSecurity Core Rule Set에 아래와 같은 커스텀 룰을 삽입:
text1SecRule REQUEST_URI "@beginsWith /_vti_bin/" "id:300001,phase:2,deny,status:403,msg:'Block potential CVE-2023-24955 exploit',t:none,ctl:ruleEngine=On"2SecRule ARGS|XML:"//*/text()" "@rx <!DOCTYPE" "id:300002,phase:2,deny,status:403,msg:'Block XML DOCTYPE injection'"- 구현 난이도: 중간 (WAF 정책 수정)
- 운영 영향: 정상적인 SOAP 서비스 호출에 제한 가능 → 허용 목록(신뢰된 서비스 계정 IP)으로 예외 처리 필요
- 검증 방법: WAF 로그에서
id:300001·id:300002트리거 확인
-
SharePoint 관리 설정 –
AllowUnsafeUpdates를false로 강제하고,Web.Config의<httpRuntime requestValidationMode="4.5" />를 적용해 입력 검증을 강화합니다.- 구현 난이도: 중간 (IIS 재시작 필요)
- 운영 영향: 일부 커스텀 솔루션에서 정상 동작에 영향을 줄 수 있음 → 사전 테스트 권고
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=7.2 · KEV · EPSS=0.85395 · exploit=easy · in_scope=None