Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-58647

CVE-2025-58647: Simple Restaurant Menu Stored XSS Vulnerability

CVE-2025-58647 is a stored cross-site scripting flaw in the Simple Restaurant Menu WordPress plugin that enables attackers to inject malicious scripts. This post explains its impact, affected versions through 1.2, and mitigation steps.

Published:

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
bash
# 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.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.