CVE-2024-51378
Description
getresetstatus in dns/views.py and ftp/views.py in CyberPanel (aka Cyber Panel) before 1c0c6cb allows remote attackers to bypass authentication and execute arbitrary commands via /dns/getresetstatus or /ftp/getresetstatus by bypassing secMiddleware (which is only for a POST request) and using shell metacharacters in the statusfile property, as exploited in the wild in October 2024 by PSAUX. Versions through 2.3.6 and (unpatched) 2.3.7 are affected.
Summary dbcve.org
CyberPanel before 1c0c6cb contains an authentication bypass vulnerability in the getresetstatus endpoint. The secMiddleware only enforces authentication on POST requests, allowing attackers to use GET requests to /dns/getresetstatus or /ftp/getresetstatus without authentication. Combined with shell metacharacters in the statusfile parameter, this enables remote command execution. This was actively exploited in the wild in October 2024.
Mitigation
Upgrade CyberPanel to version 1c0c6cb or later. If immediate patching is not possible, implement web application firewall rules to block shell metacharacters in the statusfile parameter and ensure all sensitive endpoints require authentication regardless of HTTP method.