CVE-2025-50857 Overview
CVE-2025-50857 is a critical Directory Traversal vulnerability affecting ZenTaoPMS versions v18.11 through v21.6.beta. The vulnerability exists in the /module/ai/control.php file and allows remote attackers to traverse directories and upload crafted malicious files, ultimately enabling arbitrary code execution on the target system.
Critical Impact
This vulnerability allows unauthenticated attackers to achieve remote code execution through directory traversal combined with malicious file uploads, potentially leading to complete system compromise.
Affected Products
- ZenTaoPMS v18.11
- ZenTaoPMS versions through v21.6.beta
- ZenTaoPMS installations with the AI module enabled (/module/ai/control.php)
Discovery Timeline
- 2026-02-26 - CVE CVE-2025-50857 published to NVD
- 2026-02-26 - Last updated in NVD database
Technical Details for CVE-2025-50857
Vulnerability Analysis
This vulnerability is classified as CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), commonly known as Path Traversal or Directory Traversal. The flaw resides within the AI module's control functionality at /module/ai/control.php, where user-supplied input controlling file paths is not properly sanitized before being used in file operations.
The attack can be executed remotely over the network without requiring authentication or user interaction. An attacker can leverage this weakness to escape the intended upload directory, place a malicious file (such as a PHP web shell) in an arbitrary location on the server, and subsequently execute arbitrary code with the privileges of the web server process. This can result in complete confidentiality, integrity, and availability compromise of the affected system.
Root Cause
The root cause of this vulnerability lies in insufficient input validation and sanitization within the file upload handling logic of the AI module. The /module/ai/control.php file fails to properly validate and neutralize special path traversal sequences (such as ../ or ..%2f) in user-supplied filenames or path parameters. This allows attackers to construct requests that escape the intended directory scope and write files to arbitrary locations on the filesystem.
Attack Vector
The attack is network-based and exploits the file upload functionality within the AI module of ZenTaoPMS. An attacker sends a specially crafted HTTP request to /module/ai/control.php containing directory traversal sequences embedded within the filename or path parameter of the upload request. By manipulating the path to include sequences like ../, the attacker can navigate outside the intended upload directory and place a malicious executable file (typically a PHP script) in a web-accessible location.
Once the malicious file is placed on the server, the attacker can execute it by sending a direct HTTP request to the uploaded file's location, resulting in remote code execution. The attack requires no authentication or privileges, making it trivially exploitable by remote attackers.
Proof-of-concept resources have been published externally. For technical details, refer to the GitHub Gist PoC Code and the GitHub Test Repository.
Detection Methods for CVE-2025-50857
Indicators of Compromise
- HTTP requests to /module/ai/control.php containing path traversal sequences such as ../, ..%2f, or ..%5c in filename or path parameters
- Unexpected PHP files or web shells appearing in web-accessible directories outside the designated upload folder
- Web server logs showing POST requests to the AI module endpoint with suspicious filename patterns
- Abnormal process execution originating from the web server process (e.g., spawning shells, executing system commands)
Detection Strategies
- Implement web application firewall (WAF) rules to detect and block requests containing directory traversal patterns targeting /module/ai/control.php
- Configure intrusion detection systems (IDS) to alert on HTTP requests with encoded or plain-text traversal sequences (../, %2e%2e%2f)
- Deploy file integrity monitoring (FIM) on web-accessible directories to detect unauthorized file creations or modifications
- Enable verbose logging on the ZenTaoPMS application and web server to capture suspicious upload attempts
Monitoring Recommendations
- Monitor web server access logs for unusual activity targeting the AI module endpoint, particularly POST requests with malformed filenames
- Implement real-time alerting for new file creation events in web root directories using SentinelOne's behavioral AI detection
- Regularly audit the ZenTaoPMS upload directories and web root for unexpected executable files
- Utilize SentinelOne Singularity platform to monitor for post-exploitation behaviors such as webshell activity or reverse shell connections
How to Mitigate CVE-2025-50857
Immediate Actions Required
- Restrict access to /module/ai/control.php or disable the AI module entirely if not required for business operations
- Implement strict web application firewall (WAF) rules to block requests containing directory traversal patterns
- Review web-accessible directories for any unauthorized or suspicious files and remove them immediately
- Consider temporarily taking affected ZenTaoPMS instances offline until patches are applied
Patch Information
As of the last update, no official vendor patch information has been published. Organizations should monitor the ZenTaoPMS vendor channels for security updates addressing versions v18.11 through v21.6.beta. It is strongly recommended to upgrade to the latest patched version as soon as one becomes available.
For technical analysis and proof-of-concept details, security researchers have published information at the GitHub Gist PoC Code.
Workarounds
- Disable or remove the AI module (/module/ai/) if it is not essential for operations
- Implement access controls to restrict access to the vulnerable endpoint from trusted IP addresses only
- Deploy a reverse proxy or WAF with rules to sanitize path traversal sequences from all incoming requests
- Configure PHP's open_basedir directive to restrict file operations to specific directories
# Apache .htaccess workaround to block access to the vulnerable module
<Directory "/path/to/zentaopms/module/ai">
Require all denied
</Directory>
# Alternatively, for Nginx:
# location ~ /module/ai/ {
# deny all;
# return 403;
# }
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


