Published: June 2026
Category: Security Advisory
Severity: Critical
Affected Software: Control Web Panel (CWP) < 0.9.8.1209
Impact: Unauthenticated Remote Code Execution as Root
CWE: CWE-78 (OS Command Injection)
CVE-2025-67888 is a critical pre-authentication command injection vulnerability affecting Control Web Panel (CWP) installations running versions prior to 0.9.8.1231.
The flaw exists within the CWP administrative API endpoint:
/admin/index.php
When the api parameter is enabled, user-controlled input supplied through the key parameter is passed to an operating system command without proper sanitization. An attacker can inject arbitrary shell commands which are executed by the CWP service running with root privileges. Successful exploitation results in full server compromise without requiring authentication. Exploitation requires either Softaculous or SitePad to be installed through the Scripts Manager.
GET /admin/index.php?api=1&key=<payload>
Affected versions process the key parameter in an unsafe execution context.
The vulnerability can be classified as:
OS Command Injection
Privilege Escalation: N/A
Authentication Required: No
User Interaction: None
Execution Context: root
The underlying issue is failure to neutralize shell metacharacters before invoking OS-level command execution routines. Shell operators such as:
;
|
&
$()
`
may be interpreted by the shell and allow attacker-controlled command execution.
A realistic attack scenario looks like:
Internet
│
▼
CWP Port 2030/2031
│
▼
/admin/index.php?api=1
│
▼
Unsanitized key parameter
│
▼
OS Command Execution
│
▼
Root Shell
│
▼
Persistence + Malware Deployment
Potential post-exploitation activities include:
SSH key implantation
Web shell deployment
Credential harvesting
Database theft
Cron persistence
Rootkit installation
Cryptomining payloads
Lateral movement
Because CWP services commonly run as root, successful exploitation immediately yields unrestricted system control.
Determine if Softaculous or SitePad is installed:
rpm -qa | egrep 'softaculous|sitepad'
Verify installed CWP version:
cat /usr/local/cwpsrv/htdocs/resources/admin/include/version.txt
or
grep VERSION /usr/local/cwpsrv/htdocs/resources/admin/include/version.php
Any version below:
0.9.8.1231
should be considered vulnerable.
Review access logs for requests containing:
api=1
combined with suspicious shell characters:
;
|
$(
`
&
Example:
grep -R "api=1" /usr/local/cwpsrv/logs/ \
| egrep ";|\||\$\( |`|&"
Look for suspicious outbound downloads:
grep -R "wget\|curl\|bash -c" \
/usr/local/cwpsrv/logs/
Search for unexpected shell execution:
journalctl -xe | egrep "sh|bash|wget|curl"
SentinelOne and other threat intelligence sources specifically recommend monitoring requests targeting /admin/index.php containing both api and key parameters.
The following script was designed for managed hosting environments and performs:
IOC discovery
SSH persistence detection
Web shell detection
Cron auditing
Rootkit indicators
CWP exposure verification
Save as:
/root/cwp-cve-2025-67888-audit.sh
#!/bin/bash
REPORT="/root/cwp_audit_$(date +%F_%H%M).txt"
exec > >(tee -a "$REPORT") 2>&1
echo "=========================================="
echo " CVE-2025-67888 Incident Response Audit"
echo "=========================================="
echo
echo "[1] Host Information"
hostnamectl
echo
echo "[2] CWP Version"
find /usr/local/cwpsrv -name version.txt -exec cat {} \; 2>/dev/null
echo
echo "[3] Softaculous / SitePad"
rpm -qa | egrep 'softaculous|sitepad'
echo
echo "[4] Listening Services"
ss -tulpn
echo
echo "[5] Recently Modified Files (<7 Days)"
find /home /var/www /usr/local/cwpsrv \
-type f -mtime -7 2>/dev/null
echo
echo "[6] Hidden PHP Files"
find / -type f \
\( -name ".php" -o \
-name ".r.php" -o \
-name "shell.php" -o \
-name "cmd.php" \) 2>/dev/null
echo
echo "[7] Authorized Keys"
find / -path "*/.ssh/authorized_keys" 2>/dev/null
echo
echo "[8] Root Logins"
grep "Accepted" /var/log/secure* 2>/dev/null | grep root
echo
echo "[9] New Users"
awk -F: '$3 >= 1000 {print $1,$3,$6}' /etc/passwd
echo
echo "[10] Cron Jobs"
for u in $(cut -d: -f1 /etc/passwd); do
crontab -u "$u" -l 2>/dev/null
done
echo
echo "[11] Malware Functions"
grep -R \
--include="*.php" \
-nE 'eval\(|base64_decode|shell_exec|passthru|system\(|proc_open' \
/home 2>/dev/null
echo
echo "[12] Recently Created Systemd Services"
find /etc/systemd \
-type f \
-mtime -30
echo
echo "[13] Suspicious Network Connections"
ss -tpna
echo
echo "[14] Auditd Login Events"
ausearch -m USER_LOGIN 2>/dev/null | tail -50
echo
echo "Report saved to:"
echo "$REPORT"
If patching cannot be performed immediately:
CSF Example:
csf -d 0.0.0.0/0 2030
csf -d 0.0.0.0/0 2031
csf -a YOUR_OFFICE_IP
csf -r
location = /admin/index.php {
if ($args ~* "api=.*key=.*[;|`$()&]") {
return 403;
}
}
Only allow:
VPN
Office IPs
Jump Hosts
If exploitation is suspected:
Disconnect the server from public networks.
Capture volatile evidence.
Export:
/var/log/secure
/usr/local/cwpsrv/logs/*
audit.log
Review all SSH authorized keys.
Review all cron jobs and systemd services.
Scan user home directories for web shells.
Rotate:
Root password
SSH keys
MySQL credentials
API tokens
Rebuild the server if root-level compromise is confirmed.
For hosting providers, the safest approach after confirmed exploitation is typically a full rebuild followed by restoration of verified clean backups.
curl -fsSL https://wiki.back2cloud.com/scripts/cwp-hardening.sh | bash -s -- --autoSentinelOne Vulnerability Database
(SentinelOne)
Karma(In)Security Advisory KIS-2025-09
(archive.ph)
NVD / CVE Details
(cve.imfht.com)