UpdraftCentral keys are being used to backdoor WordPress sites right now
TeamUpdraft's customer database was accessed, exposing UpdraftCentral keys — and an attacker is using them to backdoor connected sites. Delete your keys now, audit by capability rather than role, and check whether your Vault backups have silently stopped.
Founder & Lead Consultant
Updated October 20th
UpdraftPlus 1.26.13 (free) and 2.26.13 (Premium) shipped on the evening of October 19th, after this post first went up. They revoke stolen UpdraftCentral cloud keys automatically — but only those created before 8:07 a.m. ET on October 18th (12:07 UTC), which is nearly nine hours earlier than the cutoff TeamUpdraft's own notice advertises. We read the plugin source rather than taking the release note at face value; the detail is in the section on the emergency release below.
Manual key deletion is still the step that actually works. Nothing else in this post has changed.
Since Sunday morning, someone holding valid UpdraftCentral dashboard keys has been installing backdoor plugins on WordPress sites connected to that service. The commands are properly encrypted and correctly signed. Every security check the plugin performs passes, because from the site's point of view nothing is wrong — its remote manager asked it to install a plugin, so it did.
TeamUpdraft has said it believes the TeamUpdraft.com customer database was accessed over the weekend of October 17-18, and that the database holds UpdraftCentral, UpdraftVault and UpdraftClone connection keys.
There is now a plugin update, and it is worth installing — but it does not finish the job. UpdraftPlus 1.26.13 and 2.26.13 revoke stolen cloud keys automatically, and the cutoff they use stops nearly nine hours short of the one TeamUpdraft advertises, inside the window when the attack was already running. The fix that works is still to delete your UpdraftCentral connection key on every site, by hand, today.
Check even if you have never used UpdraftCentral
The riskiest sites in this incident are the ones whose owners don't believe they're involved. Connecting a site to a TeamUpdraft.com account presents a checkbox for UpdraftCentral access that is checked by default, and those keys never expire. Plenty of sites are carrying a key nobody deliberately created, from an account setup years ago.
One WP-CLI command answers it:
wp option get updraft_central_localkeysAny output at all means the site accepts UpdraftCentral commands and is exposed.
The short version
What happened: TeamUpdraft.com's customer database was accessed over the weekend of October 17-18. It held UpdraftCentral, UpdraftVault and UpdraftClone connection keys, along with names, billing addresses, order history, hashed passwords and two-factor settings.
Who's exposed to the live attack: any site running UpdraftPlus — free or premium — that still has an active UpdraftCentral cloud key. Updating to 1.26.13 / 2.26.13 removes most of those keys automatically, but not all of them. Self-hosted UpdraftCentral is not affected.
The emergency release has shipped, and it stops short. 1.26.13 and 2.26.13 revoke UpdraftCentral keys created before 8:07 a.m. ET on October 18th (12:07 UTC). TeamUpdraft's notice says the cutoff is 5:00 p.m. ET on October 18th. Keys issued in the hours between survive the update — and the first backdoor installation anyone observed falls inside that gap.
Updating removes keys, not backdoors. If something was installed on your site before you updated, it is still there.
The fix is key deletion, on the site itself. Removing the site from the UpdraftCentral dashboard does not do it.
If you use UpdraftVault, your backups are not running. TeamUpdraft disconnected every site from Vault. Nothing reaches it until you reconnect with new credentials.
The vendor's own checklist will miss this backdoor. It tells you to look for unfamiliar administrator accounts. The account this malware creates is an Editor.
What's happening
The first backdoor installation Patchstack observed was at 11:32 a.m. ET on October 18th (15:32 UTC), and the campaign ran continuously from there — the most recent one logged in their analysis was at 5:23 a.m. ET on October 19th (09:23 UTC). Patchstack has since deployed mitigation rules and is blocking UpdraftCentral remote commands outright.
What makes this different from the usual plugin vulnerability story is the trust model it breaks. UpdraftCentral is a remote-management service: you connect your sites to a dashboard, and that dashboard can install plugins, run updates and manage the site without logging in. For that to work, each site holds a key and obeys signed commands from the service.
Someone else now has those keys. The commands arriving at these sites are not forged, malformed, or exploiting anything. They are legitimate instructions from a legitimate controller, and the only thing wrong with them is who is sending them.
Your UpdraftCentral connection keys can send commands to your connected sites, so please secure each site directly.
That is TeamUpdraft's own guidance, from their incident notice. As first published on October 19th the sentence ended 'rather than waiting for our update', a phrase since removed now that the update exists. It was the right instruction then, and for the reasons below it is still the right instruction now. The rest of this post is about carrying it out properly — including one place where the vendor's checklist, followed literally, will tell you a compromised site is clean.
What was and wasn't affected
Affected or at risk:
UpdraftCentral cloud connection keys, which can send commands to your sites
UpdraftVault keys — every site has been disconnected, so Vault backups are not running until you reconnect
UpdraftClone client keys — all replaced, so old keys now fail
Names, email addresses, billing addresses and order history
Account passwords, hashed rather than plain text, and two-factor authentication settings
Not affected:
The UpdraftPlus plugin itself and its downloads
Backups already sitting in your own remote storage — Google Drive, Dropbox, Amazon S3
Self-hosted UpdraftCentral installations
Payment card details — TeamUpdraft stores none; Stripe and PayPal handle payments
Free UpdraftPlus users with no TeamUpdraft.com account
One wrinkle in that second list: TeamUpdraft has since added advice to reauthorize your remote storage and change its access keys if your site was reached through UpdraftCentral. That sits a little awkwardly beside 'remote storage is not affected', and the reconciliation is straightforward — the storage service was never breached, but a site running attacker-supplied code could read whatever credentials that site held. If a site of yours was connected, rotate them.
A separate, older issue is still out there
This incident is distinct from CVE-2026-10795, the authentication-bypass flaw patched back in June in UpdraftPlus 1.26.5 and 2.26.5. Sites still running 1.26.4 / 2.26.4 or earlier, with an UpdraftCentral or Migrator key, are exposed to forged commands through the same channel without the attacker needing any key at all. If you're on an old version, you have both problems.
The emergency release, and what it misses
UpdraftPlus 1.26.12 and 2.26.12 were released on October 19th to revoke the stolen UpdraftCentral cloud keys. Per the plugin's own changelog they did not work: 1.26.13 followed the same evening carrying the release note FIX: Properly apply the revocation in 1.26.12. Install 1.26.13 or 2.26.13 or later — not 1.26.12, which TeamUpdraft's incident page was still instructing people to install at the time of writing.
Then check your keys anyway, because the revocation is narrower than advertised. It runs on every page load and deletes cloud keys created before a hardcoded timestamp:
$this->udcentral_keys_revocation(1792325220);That Unix timestamp is 8:07 a.m. ET on October 18th, 2026 (12:07 UTC). TeamUpdraft's incident notice says the release 'automatically disconnect[s] every UpdraftCentral connection' made before 5:00 p.m. ET on October 18th (21:00 UTC). Those two statements are not the same, and the difference is nearly nine hours.
Keys from the attack window survive the update
Any UpdraftCentral cloud key created between 8:07 a.m. and 5:00 p.m. ET on October 18th (12:07–21:00 UTC) is not revoked by 1.26.13. Patchstack observed the first backdoor installation at 11:32 a.m. ET on October 18th (15:32 UTC) — three hours and twenty-five minutes into that gap.
Two narrower limits in the same routine are worth knowing. It skips any key whose stored creation time is missing or is not an integer, so a malformed key is never revoked at all. And it only touches keys whose origin is recorded as the cloud service — correct, since self-hosted keys are out of scope, but it means the update is not a general-purpose key cleanup.
Delete the key yourself. It takes one command, and it is the only step that doesn't depend on somebody else's cutoff being right.
The plugin does also accept a remote command, revoke_keys_issued_before, which lets TeamUpdraft push a wider revocation later without shipping another release. That is sensible design, and it means today's cutoff may not be the final one. It also means the thing protecting your site is a command you don't control, arriving over the same channel the attacker has been using.
One caveat for Premium users: TeamUpdraft lists 2.26.13 as released, but reports on October 20th indicated it had not yet reached every Premium installation. If it hasn't appeared for you, don't wait — deleting the key doesn't require it.
What the backdoor actually does
The command sent is plugin.upload_plugin, and WordPress installs and activates the result. From there:
The plugin hooks early into every request and watches for a secret 32-character URL token.
When that token appears, it creates a user account with a hardcoded password and the Editor role — then quietly grants that account
manage_optionsandinstall_plugins.It sets the login cookie directly. That bypasses the login form entirely, and with it two-factor authentication and every login-limiting plugin you have.
The account stays behind after the plugin is gone.
Their checklist will miss this account
TeamUpdraft's incident page tells you to go to Users and check for administrator accounts you don't recognize. Followed literally, that will clear a compromised site.
The account this backdoor creates holds manage_options and install_plugins — full administrative power — while wearing the Editor role. It does not appear in the Administrator filter. An admin skimming the user list sees the admins they recognize, and an editor among the editors.
Audit by capability, not by role. Anything holding manage_options that is not a known administrator is the thing you are looking for.
There's one piece of luck in this: the samples analyzed so far contain a coding error that throws HTTP 500 errors on uncached requests. That is how several victims noticed at all. If your site started throwing intermittent 500s over the weekend, do not treat it as a performance problem.
Do not fix the 500 error
Patchstack warns explicitly that correcting the bug causing those 500s activates the backdoor properly. The plugin is to be removed, not repaired.
Indicators of compromise
Plugin description. The attacker used 99 different plugin names, mostly random two- and three-word combinations — Site Health Cache recurs and is the strongest name-based signal. Far more reliable is the description, identical across every sample analyzed:
Small maintenance toolkit: keeps option storage tidy.Searchwp-content/plugins/for that line, and check the Must-Use tab as well as the main plugin list.The account. Any Editor-role user that also holds
manage_options. Confirmed usernames includedata-ops43andmedia-staff96. Watch also for an@example.orgemail address or the display name Site Tools.The database option. An entry whose name ends in
_sync_token.The UpdraftCentral log. Entries showing
probe.central.updraftplus.comfollowed byCommand received: plugin.upload_plugin.Access logs. The 32-character token parameter appearing in a request URL means the backdoor was used, not merely installed. That changes the severity considerably.
User-Agent. Genuine UpdraftCentral traffic carries a library version and URL in its User-Agent string. The attacker's requests carry neither.
Source IPs, useful for log review but not as a control:
43.250.53.42and2a09:bac5:4e21:2e3c::49b:9.
Two different keys — only one of them affects your backups
These get conflated, and the difference matters today.
Your UpdraftCentral key is remote management. Deleting it stops nothing else: scheduled backups, manual backups and remote storage all carry on exactly as before. There is no reason to delay deleting it.
Your UpdraftVault key is storage — and TeamUpdraft has already disconnected every site from Vault. If Vault is where your backups go, they are not arriving, and they will not until you reconnect each site with your new credentials and run a test backup. A site quietly not backing up is its own emergency, and this one is easy to miss while everyone's attention is on the backdoor.
If we manage your WordPress site
You don't need to do anything, and you don't need to wait on an all-clear email before you stop thinking about this.
We don't use UpdraftCentral to manage client sites, so none of our own management tooling is implicated in this incident. That said, a key doesn't have to be ours to be live on a site — the pre-checked box means a site can be connected without anyone choosing to connect it. So we swept the sites under management for an active UpdraftCentral key rather than for whether the service was ever deliberately set up. Keys we found are being removed. Any site that held one is being checked against the full indicator list above, not just scanned for the plugin name — the plugin name is the least reliable signal in this incident, and the account outlives the plugin.
We're checking by capability rather than by role, for the reason described above, and we're checking Vault connections too, so that no site ends the week silently not backing up. We are removing keys by hand rather than relying on the update's revocation, for the reasons set out above.
Where anything needs more than key removal, you'll hear from us directly about your site, with what we found and what we're doing about it. Not a broadcast — a conversation. And if you'd simply like the result in writing for your own records, ask and we'll put it together.
If you manage your own site
Work through this per site. The order matters: delete the key first, so that no further commands can arrive while you're cleaning up.
Check whether the site has a key at all. Run
wp option get updraft_central_localkeys, or look in wp-admin under Settings > UpdraftPlus > Advanced Tools > UpdraftCentral. Do this even if you're certain you never used the service. No key means no exposure to this campaign — but check rather than assume.Delete every key, from the site itself. Log in to the site's own WordPress dashboard rather than going through UpdraftCentral. Go to Settings > UpdraftPlus > Advanced Tools > UpdraftCentral and delete the connection key. Or via WP-CLI:
wp option delete updraft_central_localkeys. Removing the site from the UpdraftCentral dashboard does not remove the key from the site, and the key is what authorizes incoming commands.Update UpdraftPlus — to 1.26.13 or 2.26.13, not 1.26.12. Do this after deleting the key, not instead of it. The update revokes cloud keys created before 8:07 a.m. ET on October 18th (12:07 UTC), which covers most sites but not keys issued during the hours the attack was already running. 1.26.12 shipped first and, per the plugin's changelog, did not apply its revocation correctly.
Look for the plugin, including Must-Use. Search
wp-content/plugins/for the description stringSmall maintenance toolkit: keeps option storage tidy.Check the plugin list for anything you don't recognize, particularly Site Health Cache, and check the Must-Use tab if your installation shows one.Audit users by capability, not by role. This is the step most people will get wrong. List every account holding
manage_options, not every account with the Administrator role. The backdoor account is an Editor with elevated capabilities and will not appear in the administrator list.Check the logs. In the UpdraftCentral log, look for
probe.central.updraftplus.comandCommand received: plugin.upload_plugin. In your access logs, search for a 32-character token parameter. Finding the command means the backdoor was installed; finding the token means it was used.If you find a backdoor, work in this order. Delete the UpdraftCentral key first. Then deactivate the plugin and move it out of the web root rather than deleting it through wp-admin. Remove the
_sync_tokenoption. Remove the backdoor account. Change the passwords for every administrator account on the site.If the account existed, or the token appears in your logs, treat the site as fully compromised. Restore from a backup taken before October 17th, compare files against a clean install, review every user holding extra capabilities, rotate administrator passwords, invalidate all sessions, and enable two-factor authentication. Reauthorize your remote storage and rotate its access keys as well — a site that ran attacker-supplied code had access to whatever storage credentials it held. The attacker had the ability to run arbitrary code, so anything the site could read should be considered read.
Reconnect Vault, and run a test backup. If you use UpdraftVault for storage, reconnect each site: Settings > UpdraftPlus > Settings, choose UpdraftVault under remote storage, and under Already got space? click Connect with your TeamUpdraft.com email and new password. Save changes, then run a manual backup and confirm it completes. Until you do this, that site has no Vault backups.
Secure the TeamUpdraft.com account itself. Change your TeamUpdraft.com password — type the address into your browser rather than following a link from an email. Change it anywhere you reused it. Reset two-factor authentication in My Account if you use it. If you've shared UpdraftClone client keys with your own clients, collect the new ones from My Account > UpdraftClone > UpdraftClone Key Management and send them on, because clones using old keys will fail.
Expect phishing. The breached database held names, email addresses, billing addresses and order history — exactly the material a convincing message needs. TeamUpdraft has reported the incident to the UK's data protection regulator and says it will never ask for your password or keys. Treat any unexpected email about this incident accordingly.
On reconnecting
TeamUpdraft's guidance ends with reconnecting the site to UpdraftCentral. Patchstack's position is to stay disconnected until the vendor explains the cause, and as of their most recent update that had not changed.
Nor, as we read it, has the condition been met. TeamUpdraft says it closed the access route and deployed a fix for the underlying weakness, which describes a remedy rather than a cause — we still don't know how the website was accessed.
So our advice is unchanged: leave sites disconnected for now. If you do need remote management before then, generate the key under an account that does not hold install_plugins. A key that cannot install a plugin cannot install a backdoor.
The part worth remembering afterward
Every site hit here did the right things. Current WordPress, current plugins, patched against June's flaw. None of it mattered, because the compromise happened upstream of the site entirely, in a service the site had been told to trust.
That's the real lesson in remote-management tooling, and it applies well beyond this one product. Anything that can install a plugin on your site without logging in is, functionally, an administrator — and its security is now part of yours. It deserves the scrutiny you'd give an admin account: does it need the permissions it has, do its credentials ever expire, and would you notice if somebody else started using them?
Four habits come out of this:
Scope management keys down. A remote-management key tied to an account without
install_pluginswould have turned this incident into a failed command.Know what's connected. The sites in the worst position today aren't the ones that used UpdraftCentral. They're the ones that held a key for years without knowing it.
Keep backups somewhere your vendor's incident can't reach. Sites using Vault as their only destination lost their backup pipeline as a side effect of someone else's breach.
Verify the remedy, not just the advisory. The release note and the code did not say the same thing here, and the gap between them was nine hours wide in the middle of a live attack. Where a one-line command settles it yourself, run the command.
Common questions
Will updating UpdraftPlus fix this?
Partly, and only if you update to the right version. UpdraftPlus 1.26.13 and 2.26.13 revoke UpdraftCentral cloud keys created before 8:07 a.m. ET on October 18th (12:07 UTC). Keys created after that — including during the hours the attack was already running — are left in place, and no update removes a backdoor that is already installed. Update, then delete your keys by hand and check the site. Don't settle for 1.26.12: per the plugin's changelog, its revocation did not apply.
I updated and the key is gone. Am I clean?
It means that key can no longer be used. It does not mean nothing was done with it first. If the site was connected to UpdraftCentral at any point since October 17th, work through the indicators above — the plugin, the Editor account holding manage_options, the _sync_token option, and the token in your access logs. The account outlives both the plugin and the key.
I use UpdraftPlus but never set up UpdraftCentral. Am I safe?
Check before concluding that. Connecting a site to a TeamUpdraft.com account offers UpdraftCentral access via a checkbox that is checked by default, and the resulting keys never expire. Run wp option get updraft_central_localkeys on the site — any output means it is exposed.
Will deleting the UpdraftCentral key stop my backups?
No. Backups, schedules and remote storage all continue working. Deleting that key only disables remote management through the UpdraftCentral dashboard. Your UpdraftVault connection is a separate thing, and it is a different story — see the next question.
I use UpdraftVault. Is anything different for me?
Yes, and it is urgent in its own quiet way. TeamUpdraft disconnected every site from UpdraftVault and issued new credentials, so no backup is reaching Vault until you reconnect each site and run a test backup. Backups already stored in Vault are not affected, but new ones are not being created.
I removed my site from the UpdraftCentral dashboard. Is that enough?
No. The key lives on the site, and that is what authorizes incoming commands. It has to be deleted from the site itself, through Settings > UpdraftPlus > Advanced Tools > UpdraftCentral, or with WP-CLI.
I checked my administrators and they all look fine. Am I clear?
Not necessarily, and this is the most important thing in this post. The backdoor account is created with the Editor role and then granted manage_options and install_plugins, so it has administrative power without appearing in the administrator list. Audit by capability instead: anything holding manage_options that is not a known administrator.
I found the plugin and deleted it. Am I clean?
Not yet. The account persists after the plugin is removed. Remove the account and the option ending in _sync_token as well, and if the 32-character token appears in your access logs, treat the site as fully compromised rather than cleaned.
My site threw random 500 errors over the weekend. Is that related?
Possibly. The backdoor samples analyzed so far contain a bug that causes HTTP 500s on uncached requests, and that is how several site owners discovered it. Investigate it as a security event rather than a performance one — and do not fix the error, because correcting it makes the backdoor work properly.
Is self-hosted UpdraftCentral affected?
No. TeamUpdraft states that self-hosted UpdraftCentral is not affected. This incident concerns the cloud service, whose keys were held in the breached customer database.
Is this the same as the UpdraftPlus vulnerability from June?
No, though they share a channel. CVE-2026-10795 was an authentication bypass patched in 1.26.5 and 2.26.5. If you are still on 1.26.4 or earlier, forged commands work against you without any key at all, so update as well as deleting keys.
If you need a hand with this
If you've found the plugin, the account, or that token in your access logs, the cleanup is bigger than deleting files. The account survives the plugin, the attacker had the ability to install arbitrary code, and anything the site could read should be considered read.
We do WordPress incident response and malware removal, including the tedious parts: establishing how far the access went, auditing capabilities rather than roles, rotating credentials across every connected service, and watching the site afterward to confirm it's actually clean. If you're affected, or you're not sure whether you're in scope and want someone to check properly, get in touch — say it's UpdraftCentral and we'll treat it as urgent.
You don't need to be an existing client to ask. If all you want is a straight answer about whether your sites are exposed, ask us that and we'll tell you.
Need Help With Your Infrastructure?
Our team of senior engineers can help you implement these best practices. Schedule a free consultation to discuss your specific needs.
Related Articles
More insights from our Wordpress category
Critical PHP Security Update: What It Means for WordPress, Moodle and Other PHP-Powered Sites
A critical flaw was found in PHP itself — the software underneath WordPress, Magento and Moodle. What it means for your site, and what to ask your host.
World Backup Day: Why It Is Vital For You To Backup Everything
A backup is a copy of your data saved outside your primary device, which you can restore anytime. Your data can include anything from work files to personal items like family pictures, eBooks, and messages. In simpler terms, a backup is a copy of your important data saved somewhere safe where you can always access it if and when needed.
Proven Tips for Optimizing cPanel Server Performance
There are many benefits attached to using cPanel to manage your websites. But these benefits only last as long as you regularly update and maintain your cPanel server. Failure to optimize your cPanel server can lead to performance issues over time.
Ready to Elevate Your IT Infrastructure?
Let's discuss how our team can help secure, optimize, and scale your systems.