CVE-2024-35766

7.1 HIGH

📋 TL;DR

This vulnerability is a reflected cross-site scripting (XSS) flaw in the WPPizza WordPress plugin, allowing attackers to inject malicious scripts into web pages viewed by users. It affects all versions up to 3.18.13, potentially compromising user sessions or stealing sensitive data from anyone visiting a maliciously crafted link.

💻 Affected Systems

Products:
  • WPPizza WordPress Plugin
Versions: n/a through 3.18.13
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all default installations of the plugin within the vulnerable version range; no special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal admin credentials, deface websites, or redirect users to malicious sites, leading to full site compromise and data breaches.

🟠

Likely Case

Attackers exploit the vulnerability to hijack user sessions, steal cookies, or perform actions on behalf of users, resulting in unauthorized access or data theft.

🟢

If Mitigated

With proper input validation and output encoding, the risk is minimized to low, preventing script execution and protecting user data.

🌐 Internet-Facing: HIGH, as the vulnerability is in a WordPress plugin accessible via web requests, making it exploitable by remote attackers without authentication.
🏢 Internal Only: LOW, assuming the plugin is not exposed to internal networks in a way that allows exploitation; risk is primarily external.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation likely involves crafting malicious URLs; no public proof-of-concept confirmed, but reflected XSS typically has low complexity.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 3.18.13

Vendor Advisory: https://patchstack.com/database/vulnerability/wppizza/wordpress-wppizza-a-restaurant-plugin-plugin-3-18-13-reflected-cross-site-scripting-xss-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find WPPizza and update to the latest version. 4. Verify the update completes successfully.

🔧 Temporary Workarounds

Input Sanitization via WordPress Hooks

all

Add custom code to sanitize input parameters in the plugin to prevent XSS payloads.

Add a filter in functions.php: add_filter('wppizza_input', 'sanitize_text_field');

🧯 If You Can't Patch

  • Disable the WPPizza plugin temporarily to remove the attack surface until a patch can be applied.
  • Implement a web application firewall (WAF) with XSS protection rules to block malicious requests targeting the vulnerability.

🔍 How to Verify

Check if Vulnerable:

Check the plugin version in WordPress admin under Plugins > Installed Plugins; if version is 3.18.13 or earlier, it is vulnerable.

Check Version:

In WordPress, run: wp plugin list --name=wppizza --field=version (requires WP-CLI)

Verify Fix Applied:

After updating, confirm the plugin version is above 3.18.13 and test by attempting to inject a simple XSS payload (e.g., <script>alert('test')</script>) into relevant input fields to ensure it is neutralized.

📡 Detection & Monitoring

Log Indicators:

  • Look for unusual GET or POST requests containing script tags or JavaScript payloads in web server logs (e.g., Apache, Nginx).

Network Indicators:

  • Monitor for HTTP requests with suspicious parameters like 'script' or 'onload' targeting the WPPizza plugin endpoints.

SIEM Query:

Example: source="web_logs" AND (url="*wppizza*" AND (param="*<script>*" OR param="*javascript:*"))

🔗 References

📤 Share & Export