Skip to main content
GrN.dk

Main navigation

  • Articles
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Breadcrumb

  1. Home

The latest WordPress supply-chain attack was a CDN problem too

By Greg Nowak. Last updated 2026-06-19.

The June 16, 2026 TechRadar report is easy to misread. At first glance, it sounds like a familiar WordPress story: update the vulnerable plugin, confirm the version, and move on. The reported chain was wider than that. Attackers allegedly exploited a vulnerability in the UpdraftPlus plugin on an Awesome Motive marketing server, stole a CDN API key, and then altered JavaScript distributed through that CDN. TechRadar also reported that the vulnerable server was not part of the production environment. That is the uncomfortable part. A non-production system still held credentials that could change what live sites served.

The compromised files were later used by OptinMonster, TrustPulse, and PushEngage. So this is not only a plugin hygiene issue. It is also a problem in script delivery, secret handling, and governance around who can publish code into the browser.

The next detail changes the response again. TechRadar reported that the malicious JavaScript only fired when a logged-in WordPress administrator visited an affected site. The malware harvested administrator authentication tokens and WordPress nonces, created new administrator accounts, and opened the door to follow-on abuse including malicious plugins, command-and-control, data exfiltration, arbitrary PHP execution, and web-shell style control. Once that has happened, removing poisoned CDN scripts is not enough. You are dealing with persistence inside WordPress, not just a bad external file.

Check area What to do now Why it matters here
Admin access Review every privileged account, remove unknown admins, reset legitimate admin passwords, and enable two-step authentication where possible. TechRadar said the malicious script targeted logged-in administrators, harvested session material, and created rogue admins.
wp-config.php Review stored credentials and rotate security keys and salts during recovery. Those keys can invalidate existing cookies, which matters after a session-focused compromise.
Filesystem Inspect wp-content/plugins, compare unexpected file changes, and run server-side scans. TechRadar reported hidden backdoor plugins could preserve access even after the CDN scripts were removed.
Permissions Confirm least-privilege ownership and file permissions, especially around wp-config.php. Tighter permissions make it harder for malicious code to write, persist, or hide.
External scripts and CDN access List third-party scripts, review who can publish them, and confirm which systems hold the relevant credentials. This incident moved through a stolen CDN key, not just a WordPress dashboard.
A practical response checklist for a WordPress site exposed to CDN-delivered malicious JavaScript.

Why the CDN piece matters

WordPress's official hardening guidance still applies: strong passwords, two-step authentication, secure admin access, backups, logs, monitoring, and careful file permissions. None of that becomes less important. What this incident adds is a supply-chain reality: if a third party can change JavaScript loaded by your administrators, that third party sits inside your privileged path whether WordPress core is patched or not.

That is why the recovery scope has to cover both layers. One is the familiar WordPress layer: accounts, plugins, files, wp-config.php, and updates. The other is everything around it that can feed code into an admin session: CDN access, external scripts, marketing widgets, and the systems that store or can use those credentials. Fix only the first layer and you can easily miss the route in or the place an attacker chose to stay.

What to check on an exposed site

Start with privileged accounts. TechRadar specifically told site owners to look for rogue users named developer_api1 or dev_xxxxxx. Even if those names are not present, the priority is the same: confirm every administrator is expected, remove unknown accounts, and reset passwords for legitimate admins. WordPress's hardening guide is blunt here: once an attacker has administrator access, they can install malicious scripts that potentially compromise the entire server. The same guide also recommends two-step authentication, which matters even more when admin sessions are part of the attack path.

Then review wp-config.php. WordPress describes it as one of the most important files in the installation because it holds base configuration details, including database connection information. It also stores the security keys and salts. The official reference notes that those keys can be changed at any time to invalidate existing cookies. After a session-targeting incident, that is not a minor detail. Password resets help, but they are not the whole job if existing sessions may still be trusted.

Next, inspect the filesystem directly. TechRadar advised owners to check wp-content/plugins for hidden backdoor plugins and to run server-side malware scans. WordPress's own documentation supports that approach: logs matter for forensics, and monitoring changed or newly added files is part of finding what actually happened. Permissions matter as well. The file-permissions guide recommends real-user ownership rather than the webserver account, directories generally set to 755 or 750, files generally set to 644 or 640, and wp-config.php tightened to 440 or 400. Those settings do not clean an infection on their own, but they do make it harder for malicious code to write, persist, or hide.

Finally, deal with the basics properly. Back up the site before changes, verify that the backups are usable, update WordPress and active plugins, and remove plugins you do not need. In a case like this, script inventory belongs on the same checklist. If third-party JavaScript and CDN-managed assets can influence what admins load, you need to know exactly which scripts are present, who can update them, and which systems hold the credentials behind them.

Hardening that should stay after cleanup

Some hardening choices are worth keeping after the immediate cleanup. WordPress documents DISALLOW_FILE_EDIT in wp-config.php to stop administrators from editing theme and plugin PHP files in the dashboard, which matters because dashboard file editing is often one of the first post-login routes to code execution. For tighter change control, WordPress also documents DISALLOW_FILE_MODS, which blocks plugin and theme installation and updates from the admin area. That will not suit every site, but it is a sensible option when you want changes to happen through a controlled deployment path instead of a live admin session.

It is also worth checking secure transport around administration. The wp-config.php reference documents FORCE_SSL_ADMIN so passwords and cookies are not sent in the clear. The hardening guide also discusses adding another layer around /wp-admin/ and points out that HTTPS for administration is the strongest version of that second layer. None of those controls would have prevented the reported CDN compromise by themselves. They do reduce the damage when privileged sessions are the target.

The practical business lesson

The bigger lesson is straightforward. Your WordPress security boundary is not just the PHP on your host. It includes the services that can change what administrators load in the browser. If a marketing server can access a CDN key, and that key can rewrite JavaScript consumed by WordPress admins, the marketing server is part of your security model whether anyone planned for that or not.

For GrN, the sensible service here is a focused incident review and hardening pass, not a vague security retainer. Review administrator accounts. Inspect the filesystem. Check wp-config.php. Rotate passwords and security salts. Tighten permissions. Update WordPress and active plugins from a verified backup position. Then document which third-party scripts, vendors, and CDN credentials are allowed to touch the site. For companies that rely on marketing tooling, that inventory is no longer housekeeping. It is part of keeping a WordPress admin session from becoming someone else's foothold.

Related on GrN.dk

  • The 2026 WordPress Plugin Exploit Drumbeat Makes Plugin Inventory and Incident Response Paid Work
  • AI Search Visibility Is Now a Measurement Problem After Google's 2026 Guidance Changes
  • When Google can call the business, your local data stops being cosmetic

Need help with this kind of work?

Request a WordPress incident review Get in touch with Greg.

Sources

  • Over 1 million WordPress sites at risk after popular plugin hacked — OptinMonster among those hit in CDN supply-chain attack
  • Hardening WordPress
  • Editing wp-config.php
  • File Permissions
  • Upgrading WordPress
Last modified
2026-06-19

Tags

  • wordpress
  • supply chain
  • CDN
  • incident response
  • hardening

Review Greg on Google

Greg Nowak Google Reviews

 

  • ChatGPT Apps and Full MCP Access Put Governance Front and Center
  • Drush: The Drupal Shell for Practical Site Operations
  • Copy and Paste Images from the Clipboard in Drupal
  • SMF and PHP 7: A Practical Upgrade Path
  • Lækker luksusvilla Engelundsvej 73 Viby J.
RSS feed

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.