CWPdoor: trojanized Control Web Panel cwpsrv backdoor runs commands without access logs
Control Web Panel (CWP) / cwpsrv
Sponsored
Brought to you byTinkerer Club
The private club for people who own their servers, run their own AI, and pay $0/month for software.
QiAnXin XLab disclosed CWPdoor, a stealthy Linux backdoor embedded in trojanized builds of cwpsrv (the Nginx-based web server that serves Control Web Panel's management UI). Attackers with root replace cwpsrv 1.15.10 or 1.24.0 via a fake updater script, restore original file timestamps, and leave a passive backdoor that only fires on HTTP requests carrying valid X-Ngx-Integrity-* timestamp, AES command, and RSA signature headers — those requests are suppressed from access logs. XLab captured the installer on June 29 2026; a September 30 VirusTotal upload from Brazil (alongside Ebury) shows real victims in the wild. More than 340,000 CWP instances were internet-exposed in the prior month. Initial access used to gain root is still unknown. Admins should check for the ngx_http_integrity_helper Unix socket, restore a clean cwpsrv, upgrade CWP, and rotate all panel credentials.
Why this severity: Post-root persistence on hosting control-panel servers; signed covert command channel with access-log suppression; 340k+ internet-exposed CWP instances; VT sample with zero detections; real victims confirmed
- Started
- Jun 29, 2026
Affected
- cwpsrv 1.15.10 and 1.24.0 replaced by trojanized binaries (installer only targets these two versions)
- Any CWP host where an attacker already has root
Fixed in
- No vendor CVE patch: restore a clean cwpsrv binary (or cwpsrv.prev-* backup if still present), upgrade to the latest CWP/cwpsrv, confirm ss -axp | grep integrity returns nothing, rotate all panel credentials, and treat the host as compromised
Timeline4
The Hacker News and BleepingComputer cover CWPdoor; XLab notes 340,000+ internet-exposed CWP instances and that the root initial-access path remains unknown.
QiAnXin XLab publishes the CWPdoor technical analysis: embedded RSA/AES command channel via X-Ngx-Integrity-* headers, log suppression, IOCs, and remediation steps.
VirusTotal receives evidencia.tgz from Brazil containing Ebury (libkeyutils) and a zero-detection cwpsrv.suspeito sample that XLab identifies as CWPdoor, indicating real victims in the wild.
XLab CTIA captures cwpsrv_update.sh, a root-required fake updater that downloads trojanized cwpsrv builds for versions 1.15.10 and 1.24.0 from 136.0.141.71, restores original timestamps, and deletes history.
Advisories1
News & write-ups2
Get an email when a new major security incident drops. No spam, unsubscribe any time.