ConicPlex

Start Your Project

A desk at night lit by warm red-orange monitor glow, with envelopes and a blank keycard beside a keyboard, symbolizing email routing and account access tied to the Mailgun for WordPress SSRF vulnerability.

On this Page

Mailgun for WordPress Plugin Patches a Critical SSRF Flaw (CVE-2026-78003)

A critical SSRF flaw in Mailgun for WordPress (CVE-2026-78003, CVSS 9.8) can lead to admin takeover. Here is what is affected and how to check your version.

Aftab Memon

August 25, 2026

A critical server-side request forgery vulnerability in the Mailgun for WordPress plugin, tracked as CVE-2026-78003 and rated 9.8 out of 10 on the CVSS scale, went public on August 22, 2026. The bug lets an unauthenticated attacker hijack the plugin’s own connection to Mailgun’s API and reroute a site’s password reset emails, which opens a path straight to an administrator takeover. It affects every version up to and including 2.2.0. The plugin runs on more than 80,000 active WordPress sites, and the fix has actually been out since July 9.

How the SSRF Leads to an Admin Takeover

The flaw lives in the plugin’s add_list() function. It takes user-controlled array keys from $_POST['addresses'] and passes them through sanitize_text_field(), which cleans up text formatting but does nothing to check where those values actually point. That gap lets a request reach Mailgun API endpoints the site was never meant to call directly, using the site’s own stored API key to authenticate the call.

In practice, an attacker with no account on the site can use this to create an inbound email-forwarding rule inside the site’s own Mailgun account. Point that rule at an address you control, trigger a password reset for the admin user, and the reset email lands in your inbox instead of theirs. According to the NVD entry for CVE-2026-78003, the CVSS vector requires no privileges and no user interaction, which is what pushes the score to 9.8.

Why the CVE Took Six Weeks to Catch Up to the Patch

Here’s the part worth flagging for anyone who scans changelogs for “security” before deciding whether an update is urgent: this one was already fixed. The plugin’s own changelog on WordPress.org lists version 2.2.1, released July 9, 2026, with the line “Security fix: add nonce verification and server-side list address validation to the add_list AJAX action to prevent unauthenticated arbitrary list subscription,” credited to researcher Pedro Pinho. That is the exact code path CVE-2026-78003 describes. The public CVE record just didn’t catch up until six weeks later, on August 22.

Version 2.2.2 followed on July 17 with an unrelated hardening change, replacing SHA-1 and MD5 hashing with SHA-256 for API request signing. Current installs should be on 2.2.2 or later.

What to Check on Your Site

  • Open Plugins in wp-admin and confirm the installed version of Mailgun for WordPress is 2.2.1 or higher. Anything on 2.2.0 or earlier is exposed.
  • If you’re behind, update now, then log into your Mailgun account and review the routing and forwarding rules for anything you didn’t set up yourself.
  • Rotate the site’s Mailgun API key as a precaution if the site sat on an old version for any length of time. There’s no way to confirm after the fact whether the key was used against the exposed endpoint.

This is the same pattern behind a run of plugin bugs we’ve covered recently, including a User Profile Builder admin takeover bug: a quiet, unglamorous update fixes the actual problem weeks before anyone assigns it a CVE number or a headline. Sites on a real WordPress maintenance and development plan get these updates applied on a schedule instead of waiting for the news cycle to catch up, which is the only real defense against this specific pattern.

Sources

Aftab Memon is a Senior WordPress Developer at ConicPlex, working across everything from plugin conflicts and theme customization to full site builds on Elementor and WooCommerce. He spends most of his time in the parts of WordPress that don’t show up in a features list: hosting quirks, hook priority, the difference between a plugin that works in isolation and one that survives a real production stack. He writes here about what actually holds up once a WordPress site is live and being run by a non-technical client, not just what works in a demo.

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

News & Updates

A laptop glowing amber on a desk at night with a city skyline and light trails visible through the window, evoking a distributed network, with a keycard resting nearby

Cloudflare Discloses a Spectre Attack That Could Leak JWTs From Workers

Cloudflare disclosed a Spectre-class attack that leaked JWTs from co-located Workers at 12 bits a second, already mitigated through three…

Sameer Malek

August 24, 2026

News & Updates, Software

A dark minimalist workspace with a laptop open on a concrete desk and a small amber warning light glowing on a nearby wall-mounted network switch, evoking a critical security alert.

Next.js Security Release: Critical Patch Coming August 26

Next.js confirmed a critical security release for August 26, 2026, patching versions 16.3.3 and 15.5.24. Here’s what web teams should…

Sameer Malek

August 24, 2026

Guides

A server rack with tangled network cables next to a laptop showing an abstract purple data visualization, with a barcode scanner and shipping labels on the desk, representing a large WooCommerce product catalog sync

How to Sync a Large WooCommerce Product Catalog without Crashing Your Site

A real 32,000-SKU WooCommerce sync project shows what actually keeps a large product catalog sync reliable: background job queues, idempotent…

Sajil Memon

August 24, 2026