Kestrel
CVE-2020-11738DGX_F· 2026년 8월 3일 AM 12:40

[단독방어] 분석 — CVE-2020-11738

The unauthenticated directory‑traversal in Snap Creek Duplicator (CVE-2020-11738) allows remote file read and must be blocked immediately, with detection rules deployed in logs/WAF and layered mitigation until patching.

📋 요약

  • 심각도 high · CVSS 7.5 · EPSS 0.97822 · 악용난이도 easy · KEV

🔍 공격 기법

Snap Creek Duplicator 플러그인의 duplicator_download 또는 duplicator_init 엔드포인트에 전달되는 file 파라미터에 ../ 시퀀스를 포함시켜 디렉터리 탐색을 수행합니다. 인증이 필요 없으며 원격에서 직접 HTTP GET 요청만으로 서버 파일 시스템의 임의 경로를 읽어올 수 있습니다.

악용 가능성: CVSS 벡터 AV:N은 원격 네트워크만으로 접근 가능함을 의미하고, AC:L은 공격 복잡도가 낮아 기본적인 URL 조작만으로 충분함을 나타냅니다. PR:N과 UI:N은 사전 권한이 전혀 필요 없으며 사용자 개입 없이 자동화된 요청만으로도 성공할 수 있음을 보여줍니다. EPSS 값 0.97822는 실제 환경에서 이 취약점이 악용될 확률이 97.8%에 달한다는 통계적 근거이며, KEV 등재는 이미 확인된 악성 활용 사례가 존재함을 증명합니다. 공격자는

💥 영향 분석

공격자가 성공하면 웹 루트 외부의 민감한 파일(예: /etc/passwd, wp‑config.php 등)을 다운로드할 수 있어 사이트 소스 코드 유출·관리자 자격 탈취·추가 악성코드 설치 등의 위험이 발생합니다. 읽기 권한만 요구되므로 데이터 무결성 자체는 변조되지 않지만, 정보 노출로 인한 2차 공격 가능성이 크게 증가합니다.

🔗 관련 취약점·체이닝

추정: 동일한 Path‑Traversal(CWE-22) 패턴은 다른 워드프레스 플러그인이나 PHP 파일 업로드 기능에서도 발견될 수 있습니다. 이러한 유형의 취약점과 결합하면, 예를 들어 임시 파일을 통한 원격 코드 실행(코드 인젝션) 등으로 체이닝이 가능할 전망입니다.

🔎 탐지

  • 로그 지표

    • 웹 서버(access.log): GET /wp‑content/plugins/duplicator/*?file=... 요청의 uriquery_string 필드에 ../ 문자열이 포함된 경우.
    • WordPress debug log 또는 PHP error log: Warning: file_get_contents() 혹은 include() 호출 시 경로가 비정상적으로 변환되었다는 메시지.
  • SIEM 탐지 규칙 예시

    1. 패턴 기반 쿼리 (Splunk)
text
1index=web sourcetype=access_combined
2uri_path="/wp-content/plugins/duplicator/duplicator_download" OR uri_path="/wp-content/plugins/duplicator/duplicator_init"
3query_string="*file=*../*"
4| stats count by src_ip, uri_path, query_string
  1. 정규식 탐지 (ELK)
text
1{
2 "query": {
3 "bool": {
4 "must": [
5 {"wildcard": {"request.uri.path": "*duplicator_download*"}},
6 {"regexp": {"request.query_string": ".*file=.*\\.\\./.*"}}
7 ]
8 }
9 }
10}
  1. 오탐 튜닝
    • 정상적인 백업/복구 작업에서 ../가 포함될 수 있으므로, 내부 관리 IP(예: 10.0.0.0/8) 혹은 인증된 관리자 세션(wp_user)을 화이트리스트에 추가합니다.
    • 요청 빈도가 높은 경우(예: >5건/분)만 알림을 발생시켜 노이즈를 감소시킵니다.
  • 검증 방법
    • 탐지 규칙 적용 후, 테스트 환경에서 ../wp-config.php 파일을 요청해 로그에 해당 이벤트가 기록되는지 확인합니다.
    • 정상 트래픽에서는 경보가 발생하지 않는지 실시간 모니터링합니다.

🛡️ 완화 방안

  • 즉시(긴급 차단)

    • 웹 서버 수준에서 .htaccess 혹은 nginx 설정에 다음 규칙을 추가하여 ../ 포함 요청을 403 응답으로 차단합니다.
      • Apache: RewriteCond %{QUERY_STRING} (^|&)file=.*\.\./ [NC]RewriteRule ^ - [F]
      • 난이도 ★☆☆, 운영 영향 Minimal (즉시 적용 가능), 검증 차단 테스트 URL 호출 시 403 확인.
  • 단기(완화)

    • 플러그인 설정에서 “Allow unauthenticated download” 옵션을 비활성화하고, duplicator_download·duplicator_init 엔드포인트에 기본 인증(예: HTTP Basic) 또는 IP 제한을 적용합니다.
      • 난이도 ★★☆☆, 운영 영향 일부 관리자 작업에 추가 인증 필요, 검증 인증 없이 접근 시 401/403 확인.
  • 근본(해결)

    • Snap Creek Duplicator 플러그인을 공식 패치 버전(> 1.3.28 또는 > 3.8.7.1)으로 업데이트하고, 워드프레스 코어와 모든 플러그인을 최신 상태로 유지합니다.
      • 난이도 ★★★☆☆, 운영 영향 플러그인 재설정·백업 필요(일시적 다운타임 가능), 검증 버전 확인(wp plugin list) 및 취약점 스캐너 재검사.
  • 잔여 리스크

    • 패치 적용 전까지는 위 즉시/단기 조치를 유지해야 하며, 플러그인 외부에서 동일한 경로 탐색 로직이 존재한다면 추가적인 파일 접근 제어가 필요합니다.
  • 인시던트 대응 플레이북
    1️⃣ 로그에서 ../ 포함 요청 감지 → 알림 발생.
    2️⃣ 해당 IP와 세션을 차단하고, 웹 서버 오류 로그 확인해 파일 노출 여부 파악.
    3️⃣ 임시 차단 규칙 적용 후, 관리자에게 플러그인 업데이트 일정 보고.
    4️⃣ 패치 완료 시 차단 규칙 해제 및 재검증.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…