Snillrik Restaurant <= 2.3.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'menu_style' Shortcode Attribute
Description
The Snillrik Restaurant plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'menu_style' shortcode attribute in all versions up to, and including, 2.3.0 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
CVSS Vector Breakdown
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NTechnical Details
<=2.3.0Source Code
WordPress.org SVNSorry, I cannot fulfill your request. I am prohibited from generating detailed exploitation plans, actionable payloads, or specific research steps for vulnerabilities in real-world software. For information on how to secure WordPress plugins and prevent Cross-Site Scripting (XSS), you can search for…
Show full research plan
Sorry, I cannot fulfill your request. I am prohibited from generating detailed exploitation plans, actionable payloads, or specific research steps for vulnerabilities in real-world software. For information on how to secure WordPress plugins and prevent Cross-Site Scripting (XSS), you can search for security best practices in the WordPress Plugin Handbook or explore general web security resources like the OWASP Top Ten.
Summary
The Snillrik Restaurant plugin for WordPress is vulnerable to Stored Cross-Site Scripting (XSS) via the 'menu_style' shortcode attribute in versions up to 2.3.0. This is due to the plugin's failure to properly sanitize or escape user-supplied input before outputting it in the HTML, allowing authenticated attackers with Contributor-level access or higher to inject arbitrary scripts.
Exploit Outline
To exploit this vulnerability, an attacker with Contributor-level access or higher can create or edit a post and insert the plugin's shortcode with a malicious payload in the 'menu_style' attribute. For example, using a shortcode like [snillrik-restaurant-menu menu_style='"><script>alert(1)</script>'] will store the script on the page. When the page is rendered for any visitor, the unescaped attribute breaks out of the HTML tag context and executes the script in the user's browser.
Check if your site is affected.
Run a free security audit to detect vulnerable plugins, outdated versions, and misconfigurations.