A cPGuard backdoor went out through the product's own auto-update on 2 November 2026. OpsShield, the vendor, told BleepingComputer that 2,946 servers were affected, and its investigation shows the attacker retrieved root-level secrets from them. If your WordPress or Joomla site runs on one of those servers, your database password may already be copied. The vendor's fix does not change that.
Key takeaways
- Attackers used stolen credentials to push a backdoor through cPGuard's auto-update on 2 November 2026, targeting versions 5.88.12 through 5.88.19.
- OpsShield says 2,946 servers were affected, with 32 files retrieved per customer: password hashes, root MySQL configuration, shell history and SSH key files.
- cPGuard 5.88.25 removes the backdoor but does not invalidate any stolen secret.
- Confirm your version, then rotate database, CMS, SFTP/SSH and API credentials; root-level secrets on shared plans must be rotated by the host.
How did the cPGuard backdoor ride a normal update?
It came through the update channel itself. On 2 November 2026 at 02:06 UTC, an unidentified attacker logged into OpsShield’s update distribution CDN with valid, stolen credentials and pushed a malicious script to cPGuard customers on versions 5.88.12 through 5.88.19. OpsShield says it stopped distribution within 12 hours but could not confirm which servers ran the script, because update checks happen at set intervals. It does not know how the credentials leaked.
As of this writing, no CVE has been published and no threat actor has been named. cPGuard scans for malware and runs a firewall with deep server access, so admins trust its updates by default.
What did the cPGuard script steal, and what does it mean for your CMS?
The script collected:
- Linux password hashes
- Root MariaDB/MySQL configuration
- Root shell history
- Root SSH authorized_keys and known_hosts files
It uploaded the data to OpsShield’s own licensing server through a compromised account, which the attacker then used to download it. Traffic to a vendor licensing endpoint looks routine in egress logs. OpsShield’s evidence shows 32 files retrieved from each customer.
Root MySQL configuration typically holds credentials that reach every database on the box, including the one named in your wp-config.php or configuration.php. The reporting does not say whether database contents were copied; assume anyone holding those credentials can read your data. Shell history often holds passwords typed into commands, weak or reused passwords behind the hashes can be cracked offline, and known_hosts lists other machines the server connects to.
OpsShield’s billing database was also copied, so if you pay OpsShield directly, expect phishing that quotes your real account details. Many owners never chose cPGuard: hosts such as Namecheap offer it on VPS and dedicated plans beside cPanel, DirectAdmin or Plesk. Nothing suggests those hosts were breached.
Why cPGuard 5.88.25 doesn't expire stolen secrets
Upgrading removes the malware, not what it copied. OpsShield tells admins to move every server to cPGuard 5.88.25 or later, which deletes the backdoor and staged files. Passwords, database credentials, cloud secrets and SSH keys taken on 2 November keep working until someone changes them. OpsShield plans a further update to remove previously installed OpsShield support-access keys; until it ships, treat those keys as live entry points. It has not said whether a restart is needed after upgrading.
Which secrets should a site owner rotate this week?
Confirm the version first: check the cPGuard page in WHM, DirectAdmin or Plesk, or ask your host whether the server ran 5.88.12 through 5.88.19 after 02:06 UTC on 2 November. Rotate only after 5.88.25 is confirmed, or a surviving implant will read the new values too. With shell access, search .bash_history for passwords typed into mysql commands.
- Database user: change its password in your control panel, then update wp-config.php or configuration.php to match.
- CMS logins: in WordPress, regenerate the salts (this logs out every session) and change all admin passwords. In Joomla, change admin passwords and the secret value in configuration.php.
- Your access: SFTP and panel passwords, plus new SSH key pairs for any keys you placed on the server.
- Third-party keys: cloud API keys, payment gateway keys, SMTP passwords and hosting API tokens stored in config files.
- Host-only items: on shared plans, ask the host to confirm in writing that it rotated root passwords, root MySQL credentials and server SSH keys, and removed OpsShield support keys.
Our piece on what to reset after a host-side credential incident covers the same job in more detail.
How do you check whether the stolen access was used?
Look for changes made after 02:06 UTC on 2 November 2026:
- Unknown WordPress or Joomla administrator accounts, or existing users promoted to admin
- Recently modified theme, plugin and core files, and PHP files in uploads or tmp
- New cron jobs or authorized_keys entries, if you have shell access
- Database users or grants you don’t recognize
With root access, an attacker can plant a web shell that survives both the cPGuard upgrade and every password change. Run an independent malware scan and file-integrity check such as SiteGuarding Antivirus after cleanup, and keep it running. If Google flags the site or visitors get redirected, follow our guide to removing a hacked-site warning.
FAQ
Which cPGuard versions carried the backdoor?
Versions 5.88.12 through 5.88.19, distributed from 2 November 2026 at 02:06 UTC. OpsShield says it stopped distribution within 12 hours.
Does updating to cPGuard 5.88.25 change my WordPress database password?
No. The update removes the backdoor and staged files only; change the password yourself and update wp-config.php to match.
Is there a CVE for the cPGuard incident?
None had been published as of this writing. The attacker used valid stolen credentials, so a vulnerability scanner will not flag an affected server.
Were all 2,946 servers confirmed to have run the script?
No. Update checks run at set intervals, so some servers may not have executed it, but OpsShield could not rule any out.
If you find an admin you didn’t create or files that changed after 2 November, our team handles malware cleanup and hack recovery, including backdoors that a password reset won’t remove.
