CVE-2025-58647 Overview
CVE-2025-58647 is a stored cross-site scripting (XSS) vulnerability in the Will.I.am Simple Restaurant Menu WordPress plugin. The flaw affects all versions up to and including 1.2. It stems from improper neutralization of user input during web page generation, classified as [CWE-79].
An authenticated attacker with high privileges can inject malicious script payloads that persist in stored menu content. When other users view the affected pages, the injected script executes in their browsers. The scope change indicates the payload can impact resources beyond the vulnerable component, including site visitors and administrators.
Critical Impact
Stored XSS payloads execute in visitor and administrator browsers, enabling session theft, credential harvesting, and unauthorized actions within the WordPress admin context.
Affected Products
- Will.I.am Simple Restaurant Menu WordPress plugin versions through 1.2
- WordPress sites running the simple-restaurant-menu plugin
- Any site rendering unsanitized menu content generated by the plugin
Discovery Timeline
- 2025-09-22 - CVE-2025-58647 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-58647
Vulnerability Analysis
The Simple Restaurant Menu plugin fails to sanitize input fields used to build restaurant menu pages. Attacker-supplied HTML and JavaScript pass through storage and rendering paths without proper encoding. The stored payload activates each time a user requests a page that includes the affected menu data.
Exploitation requires an authenticated session with elevated privileges and user interaction to trigger the payload. Successful exploitation yields limited confidentiality, integrity, and availability impact on the target scope. Because the vulnerability crosses a security boundary, session cookies and administrative actions accessible to victims become reachable to the attacker.
Root Cause
The plugin does not apply WordPress sanitization functions such as sanitize_text_field(), wp_kses(), or esc_html() on stored menu attributes before writing them to the database or rendering them in the page template. This omission allows raw markup to persist and execute in a victim's browser.
Attack Vector
An authenticated user with plugin management permissions submits a menu entry containing a script payload through the plugin's administrative interface. The payload is stored in the WordPress database. When an administrator or site visitor loads a page that displays the affected menu, the browser parses the injected script and executes it in the site's origin. Refer to the Patchstack XSS Vulnerability Report for additional technical context.
Detection Methods for CVE-2025-58647
Indicators of Compromise
- Unexpected <script>, <img onerror=>, or javascript: payloads stored in WordPress wp_options, wp_postmeta, or plugin-specific tables tied to simple-restaurant-menu
- Outbound HTTP requests from administrator browsers to attacker-controlled domains shortly after loading menu pages
- New administrator accounts, plugin installations, or option changes performed by legitimate admin sessions without operator awareness
Detection Strategies
- Search plugin database rows for HTML tags and event handler attributes such as onerror, onload, and onclick
- Monitor WordPress access logs for POST requests from privileged users to admin.php endpoints associated with the plugin
- Compare rendered menu HTML against expected content baselines to identify injected markup
Monitoring Recommendations
- Enable Content Security Policy (CSP) reporting to capture inline script violations originating from menu pages
- Alert on WordPress audit log entries showing menu edits by accounts that do not normally manage restaurant content
- Ingest WordPress and web server logs into a centralized analytics platform to correlate stored XSS indicators with downstream account activity
How to Mitigate CVE-2025-58647
Immediate Actions Required
- Deactivate the Simple Restaurant Menu plugin until a patched release is confirmed available and installed
- Audit menu content for injected HTML or JavaScript and remove any suspicious entries
- Rotate credentials and invalidate active sessions for administrators who may have viewed compromised pages
Patch Information
No fixed version is listed in the advisory for versions after 1.2. Consult the Patchstack XSS Vulnerability Report for the current remediation status and monitor the plugin repository for updates.
Workarounds
- Restrict plugin administration to a minimal set of trusted, high-assurance accounts protected by multi-factor authentication
- Deploy a web application firewall rule set that blocks script tags and event handler attributes in POST parameters targeting the plugin's admin endpoints
- Apply a strict Content Security Policy that disallows inline scripts on public and administrative pages
# Disable the vulnerable plugin via WP-CLI
wp plugin deactivate simple-restaurant-menu
wp plugin delete simple-restaurant-menu
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

