Home/ Blog/ Security news/ Article
Blog · Security news

A flaw in the Mailgun for WordPress plugin lets a stranger take over the admin account (CVE-2026-78003)

A critical Mailgun for WordPress plugin flaw (CVE-2026-78003) lets unauthenticated attackers reroute password-reset emails and seize admin accounts. Fix: 2.2.1.

Isometric mail sorter pulling one envelope onto a hidden side track

If you run the Mailgun for WordPress plugin and have not updated it since June, an unauthenticated attacker has had a route to your admin account for over a month, and the changelog line that quietly carried the fix made it sound like a minor spam bug. Wordfence published CVE-2026-78003 on August 22, rating it 9.8 out of 10. It affects every version up to and including 2.2.0, and the plugin is active on more than 80,000 WordPress sites.

The gap between how the fix was described and what the flaw actually does is the story here. Version 2.2.1 shipped on July 9 with a changelog note about stopping "arbitrary list subscription," which reads like a newsletter nuisance. The CVE record now makes the real stakes plain: the same bug is a server-side request forgery that ends in full administrator takeover.

What the flaw actually does

The plugin talks to Mailgun using the API key you configured, which is stored on the site. The vulnerable code path is an unauthenticated action named add_list. It took attacker-supplied input, the keys of a submitted list of addresses, and used that to build the path of the outgoing Mailgun request without screening it for path traversal. That let a visitor with no account redirect those authenticated API calls to Mailgun endpoints of their choosing. In plain terms, the attacker borrows your site's Mailgun credentials to act as your site. Engineers call this a confused-deputy problem, and it is a classic server-side request forgery pattern, where a server is tricked into making requests an outsider could not make directly.

The damaging move Wordfence describes is creating a mail-forwarding route on the Mailgun account. Once inbound mail is copied to an address the attacker controls, they trigger a WordPress password reset for an administrator, catch the reset link in the forwarded copy, and set a new password. From there they own the site. No login, no phishing, no user interaction.

Affected and fixed versions

VersionStatus
2.2.0 and earlierVulnerable to CVE-2026-78003 (critical, 9.8)
2.2.1 (July 9, 2026)Fixed: the add_list action now checks a nonce and validates addresses on the server
2.2.2 (current)Fixed, plus unrelated hardening
Source: WordPress.org plugin changelog and the Wordfence advisory.

Update to 2.2.1 or later. The current release is 2.2.2, which swaps some weak hash functions for SHA-256 on top of the July fix. There is no configuration that makes an older build safe: the vulnerable action does not require authentication, so restricting admin access does nothing to close it.

The compromise hides in Mailgun, not in WordPress

Here is the part that catches teams off guard. Because the attack drives your own Mailgun account, the evidence sits in Mailgun's control plane, not in your WordPress logs. An admin combing through WordPress activity may see nothing beyond a password change. The tell is a route or forwarding rule on your Mailgun account that nobody on your team set up.

So updating the plugin is necessary but not sufficient. If you ran a vulnerable version and the site was reachable from the internet, treat it as potentially touched. Audit the Mailgun account for routes and forwards you do not recognize, rotate the Mailgun API key (the plugin held it, and anyone who exploited this could have used it for anything the key allows), review the WordPress user list for administrators you did not add, and force a password reset across privileged accounts. Account takeover surfaces as anomalous administrator logins and sudden privilege changes, the kind of signal that belongs in your alerting whether or not you run a managed detection service.

WordPress email plumbing keeps being the soft spot

This is not an isolated case. Plugins that sit between WordPress and an email provider hold credentials and touch the password-reset flow, which makes them a high-value target. We recently covered Gravity SMTP leaking live email API keys, along with plugin flaws that end in a rogue administrator or a repeat account takeover. The shape is consistent: the vulnerability is unauthenticated, the payoff is the admin account, and the fix is a version bump most sites apply weeks late.

Update, then check your Mailgun account

  • Update the Mailgun for WordPress plugin to 2.2.1 or later (2.2.2 is current).
  • Open your Mailgun dashboard and review inbound routes and forwarding rules; delete any you did not create.
  • Rotate the Mailgun API key the plugin uses, then update it in the plugin settings.
  • Check the WordPress administrator list and remove accounts you cannot account for.
  • Force a password reset for all privileged users.

At the time of writing there is no public proof-of-concept exploit and no report of exploitation in the wild. That is the good news and the deadline at once: the details are now public, the affected range is known, and the fix has sat in the plugin repository since July. The window to patch quietly is closing.

Topics

Frequently asked questions

What is CVE-2026-78003?

CVE-2026-78003 is a critical server-side request forgery flaw in the Mailgun for WordPress plugin, affecting versions 2.2.0 and earlier. Wordfence rated it 9.8 out of 10. An unauthenticated attacker can abuse it to reroute a site's email and take over an administrator account.

How do I fix the Mailgun for WordPress vulnerability?

Update the plugin to version 2.2.1 or later; 2.2.2 is the current release. Because the flaw uses your site's stored Mailgun credentials, also review your Mailgun account for forwarding routes you did not create and rotate the Mailgun API key.

Is CVE-2026-78003 being exploited?

As of publication there is no public proof-of-concept exploit and no confirmed exploitation in the wild. The flaw is unauthenticated and rated critical, and full technical details are now public, so treat patching as urgent rather than optional.

How would I know if my site was already compromised?

The evidence sits in your Mailgun account, not your WordPress logs. Look for inbound routes or forwarding rules nobody created, unrequested administrator password resets, and admin accounts you did not add. Updating the plugin alone does not undo an existing compromise.

Which versions of Mailgun for WordPress are affected?

Every version up to and including 2.2.0 is vulnerable. The fix shipped in 2.2.1 on July 9, 2026, which added a nonce check and server-side address validation to the affected action. The current release, 2.2.2, includes that fix.

Ready to meet the Guardians?

Deploys fast - agentless for monitoring and cloud, a lightweight agent for deep endpoint security. Just Suriq, standing watch.