cPGuard supply chain attack: 2,950 servers ran a fake update
Attackers hijacked cPGuard's update channel and ran a data-stealing script as root on 2,950 servers. Update to 5.88.25 and rotate SSH keys and DB passwords.
The security tool on your web server was the way in. In the cPGuard supply chain attack, attackers broke into OpsShield's update system and pushed a malicious cPGuard update. Servers that checked for updates during a short window ran it as root. The script copied password hashes, database root credentials and SSH files, then left a hidden root shell. OpsShield estimates 2,950 servers ran it.
What actually happened
cPGuard is a Linux server security suite: malware scanning, firewall, attack protection. Hosting companies and admins run it next to cPanel, DirectAdmin and Plesk. BleepingComputer notes Namecheap offers it on VPS and dedicated servers.
Per OpsShield's incident notice, as reported by SecurityWeek and BleepingComputer:
- The entry. The attackers registered a customer account and ordered a free cPGuard trial to study how it talks to the licensing system. Crafted requests then got them command execution on OpsShield's billing and licensing server.
- The poison. With a stolen access key, they uploaded a fake update. Versions 5.88.12 through 5.88.19 carried the malicious script. The attack started November 2 at 02:06 UTC. The fake updates were live for about 70 minutes, and OpsShield caught it within 12 hours.
- The payload. The script took Linux password hashes, MySQL/MariaDB root config, root shell history and root SSH files. It uploaded them to OpsShield's own licensing server through a compromised account. It also planted a hidden root shell.
- The rest. The attackers also copied about 7,900 client account records with names, companies, addresses, emails and hashed passwords.
OpsShield's line: "If cPGuard was not online during that window, your server did not receive the fake update. You should still reset your billing portal password."
Why the cPGuard attack matters for your business
You may run cPGuard without having chosen it. If your site is on a managed VPS or a reseller host, ask what's on the box.
If you run cPGuard:
- Update to 5.88.25 or later. That removes the hidden shell and the dropped files.
- Check the install log at
/opt/cpguard/logs/install_logfor versions 5.88.12–5.88.19. - If you were hit, rotate everything the script read. Updating does not un-steal credentials. That means system passwords, MySQL root, root SSH keys, cloud secrets, and anything that ever appeared in root's shell history.
- Reset your OpsShield billing password either way.
The bigger lesson: auto-update is a trust decision. Any agent that runs as root and pulls code from a vendor makes that vendor's security part of yours. Keep an inventory of what auto-updates as root on your servers, and keep it short.
Key takeaways
- Attackers used a free trial account to reach OpsShield's licensing server, then its update channel
- cPGuard 5.88.12–5.88.19 ran a credential-stealing script as root; about 2,950 servers ran it
- The script left a hidden root shell; 5.88.25 and later remove it
- Updating doesn't undo theft: rotate SSH keys, DB root and system passwords
- List every tool that auto-updates as root on your servers
Don't know what's running as root on your server? We audit hosting stacks for small businesses: what's installed, what auto-updates, and which keys to rotate when a vendor gets breached. Ask us to look at yours.
Sources: SecurityWeek, BleepingComputer.
- #cpguard
- #supply-chain-attack
- #web-hosting
- #linux-servers
- #server-security
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Zyxel GS1900 zero-day: the June patch didn't stop the hacks
Zyxel GS1900 hacks blamed on an old patched bug used a zero-day, CVE-2026-107441. The June fix didn't help. Install the 2.90 Patch 3 firmware on all 10 models.
Read itXen XSA-523: Claude-found bug lets one VM read any other VM
Xen XSA-523 lets a malicious guest read and write other VMs' memory, dom0 included. Anthropic's Claude found it. Patch and reboot hosts, or ask your VPS host.
Read it