It means any freelancer, guest writer, or community member you've granted "Author" status could become a direct conduit to your database, your files, and your site's integrity with a single, malicious upload.
The exploit chain hinges on a critical mismatch between what WordPress sees and what a deeper server component decides.
Normally, when you upload a file, WordPress checks its extension (.png.jpg). But when the site uses the Imagick PHP extension for image processing, a different logic takes over. Imagick peeks inside the file's contents. If it detects PostScript code, it hands the file to Ghostscript to render it.
The vulnerability resides precisely here: WordPress trusted the file extension, while Imagick trusted the file's contents.
An attacker could upload a file named “featured_image.png”. WordPress, seeing the .png extension, accepts it. But inside that PNG's data could be hidden PostScript code. Imagick would find it, call Ghostscript, and Ghostscript would execute that code as a program on your server.
As the security firm Patchstack noted, "An Author uploading a booby-trapped 'image' is a genuinely realistic threat, not a theoretical one." This is especially true for publications, membership sites, or any platform with open or loosely managed registration, as we reported in WordPress Hosting Versus Headless CMS: 2026's Key Choice, and is a concern in any context where digital access is expanding, like senior communities where AI mobile assistants are gaining popularity.
Not every WordPress site was a target. Two specific conditions had to align, which significantly narrows the attack surface but makes vulernable sites acutely exposed.
Condition 1: The Right Tech Stack
Your server had to be running both the Imagick PHP extension and have Ghostscript installed. Many hosting environments use the simpler GD library instead of Imagick. If you're on GD, you were safe from this specific chain.
Condition 2: The Right User Access
The attacker needed an account with the upload_files capability. In a default WordPress setup, that means at least the Author role. Contributors can't upload, and Subscribers certainly can't. Administrators and Editors also have this right, making them potential vectors if their accounts are compromised.
If you run a small corporate site with only a handful of admin logins, your exposure was minimal. But if you manage a multi-author blog, a community with contributor roles, or a client site where you've handed out Author accounts to staff, this vulnerability was a direct line from a compromised user account to root server access.
The fix, concentrated in a single core file (wp-includes/class-wp-image-editor-imagick.php), was surgical and thorough. Developers didn't just slap a bandage on the PostScript issue; they rebuilt the gatekeeping logic.
The old code took a filename at face value. The new code reads the first 1,445 bytes of a file to determine its true type.
Here’s what it now does:
- Sniffs signatures, not extensions: It rejects files with a
.pdf extension that don't contain the standard %PDF- header. It also blocks files that Imagick identifies as PostScript, whether by a known extension (like .ps or .eps), by "magic bytes" in the content, or by Imagick’s own format tags.
- Strips deceptive prefixes: It removes any
FORMAT: prefixes from filenames in a loop, preventing an attacker from hiding a second, malicious specifier behind a first one.
- Blocks compressed trickery: It rejects compressed files (like
.svgz) that Imagick would silently unpack before inspection, closing a side-channel for exploitation.
In essence, WordPress core stopped delegating the "what is this file?" question to Imagick based on a user-provided filename. It now performs its own, robust content analysis first. This approach closes not only the reported Ghostscript path but also several related potential avenues that hadn't yet been exploited.
The immediate action is simple, but your security response shouldn't stop there.
1. Update Immediately and Verify
Apply the WordPress 7.0.4 update via your dashboard, WP-CLI, or your managed host's tools. Crucially, the fix has been backported to all supported branches back to WordPress 4.7. You don't need to be on version 7.x to be protected. After updating, manually confirm the new version is live on your site.
2. Conduct a User Account Audit
Go to your Users list. Scrutinize every account with Author privileges or higher. Ask:
- Is this person still contributing?
- Do they need file upload capabilities, or could their role be reduced to Contributor?
- Are any accounts unfamiliar or linked to old freelancers/employees?
Remove any unnecessary accounts immediately. This is a foundational security practice that limits attack vectors for any authenticated vulnerability.
3. Review Your Server’s Capabilities
Check with your hosting provider or system administrator: are Imagick and Ghostscript running on your server? If you don't need them for specific functionality, consider disabling Imagick in favor of the GD library to reduce your attack surface for future, similar flaws.
4. Monitor and Maintain
This incident is a stark reminder that security is a continuous process of updates, audits, and vigilance. It operates on the same principle as platform accountability we see elsewhere, similar to X Opens Shadowbanning to Scrutiny with Its Ranking Code, where transparency and review are key to trust and safety. Enable logging for file uploads if possible, and make sure you have a reliable backup strategy that would allow you to recover if an exploit ever succeeds.
The WordPress 7.0.4 patch effectively slams the door on a clever and dangerous exploit path. But its true lesson is about trust and validation. It reminds every site administrator that their security perimeter extends to every user account with upload privileges and every layer of their software supply chain. Updating is the cure for this specific wound, but disciplined user management and a proactive stance on server configuration are the ongoing vaccines.
- The vulnerability allows attackers with low-privilege 'Author' accounts to gain full server control through a disguised image upload.
- Sites using guest authors, freelancers, or community contributors are at immediate risk and must update to WordPress 7.0.4.
- The high-severity CVSS score of 8.8 indicates this is an urgent threat requiring immediate patching to prevent data breaches and site compromise.