IT or ops leader Security By Avani Nagwann and Shashank Ayyar Last updated on September 7, 2026 6 min read

What Are the Security Risks of WordPress?

"WordPress is insecure" gets said a lot, and it is not quite the right claim. Nearly every disclosed WordPress vulnerability lives in the plugins and themes layered on top of core, not in core itself, which changes what actually needs watching. So what are the real security risks of running WordPress, and where do they actually sit?

#Evidencing
Where 2025's disclosed vulnerabilities sit 11,334 disclosed in 2025
The risk concentrates almost entirely outside core.
91%Plugins
9%Themes
Core: 6 low-priority issues out of 11,334. That's the part WordPress patches for you, free, on a schedule.
Source: Patchstack, 2026 State of WordPress Security whitepaper, 2025 disclosure data.
TL;DR

The risk in WordPress sits almost entirely in third-party plugins and themes, not in WordPress core: of 11,334 vulnerabilities disclosed across the ecosystem in 2025, 91 percent were in plugins, 9 percent in themes, and core accounted for 6 low-priority issues, per Patchstack’s 2026 State of WordPress Security whitepaper. Severity depends on what a given plugin touches and how many separate plugins a site is running, not on running WordPress itself. A disclosed vulnerability publishes the exploit recipe, so any site still on the unpatched version becomes an identifiable, automatable target, and 46 percent of 2025’s disclosed vulnerabilities had no developer fix available at the time of disclosure. See how NoDrama’s security hardening and tested updates cover this on the solutions page.

Contents

  1. 01Understand where the risk actually sits. The short answer, and how it actually works.
  2. 02See why it matters for your site. Why it matters for your situation, and what good security discipline looks like.
  3. 03Know what to do and what still isn’t covered. What to do about it, and the common misconceptions.

The short answer on WordPress security risks

Of 11,334 new vulnerabilities disclosed across the WordPress ecosystem in 2025, 91 percent were found in plugins, 9 percent in themes, and only 6 low-priority issues were in core, per Patchstack’s 2026 State of WordPress Security whitepaper. That split is not close. Core’s share is statistically negligible against plugins alone.

The direct implication follows from the numbers, not from opinion: WordPress the platform is not where the risk sits. The unaudited third-party code running on top of it, chosen and installed by whoever manages the site, is.

How WordPress security risk actually works

Why plugins and themes carry the risk core does not

Core ships from a single, reviewed codebase. It’s maintained by a security team of more than 50 people who backport fixes to older versions rather than forcing every site onto the newest release to stay patched, per the WordPress Security Team’s own review process.

A plugin or theme is a different situation entirely. It’s an independently authored package, written by a separate developer of whatever skill level they happen to have. WordPress.org’s directory review checks a plugin at submission, but it doesn’t continuously re-audit every version update that ships after that. A plugin that passed review in 2022 can ship a vulnerable update in 2026 with no equivalent second check.

This is also where the cost math changes. Verified, tested updates catch the failure mode where a legitimate patch breaks something on the live site, which is a different problem from a plugin’s own code carrying a vulnerability in the first place. See what tested, verified updates actually cost to have covered for how that piece works.

Verify it

For any plugin you’re evaluating, check whether it names a security team or a documented disclosure process on its own listing page. A plugin with neither has no equivalent of core’s review process behind it.

The four vulnerability classes behind nearly all plugin and theme issues

Nearly all of the 91 percent plugin figure and the 9 percent theme figure comes down to four recurring mechanisms, as WordPress’s own definitions of these vulnerability classes lay out.

SQL injection

Unsanitized input gets run as a database command instead of passed through a prepared statement.

Cross-site scripting (XSS)

Unescaped output lets attacker-supplied JavaScript run in a visitor’s or an admin’s browser.

Cross-site request forgery (CSRF)

A state-changing action fires using a logged-in admin’s own session, because the plugin skipped its nonce check.

Broken access control

A user reaches an action or a piece of data that should have required a higher capability level.

Four cards covering SQL injection, XSS, CSRF, and broken access control, each with a one-line description of how it occurs.

A nonce, in WordPress’s own terminology, is a Number Used Once. It’s the mechanism a plugin is supposed to check before it lets a state-changing action run, and a missing nonce check is what turns a normal admin action into a CSRF opening.

Verify it

For a specific plugin, check its own changelog for language like “sanitization,” “escaping,” or “capability check” fixes. That’s usually the tell that one of these four classes got patched in that release.

Why this matters for a site you are responsible for

An outdated plugin isn’t a slow decay. It’s a published map. Once a vulnerability is disclosed along with its fix, any site still running the unpatched version becomes identifiable by version fingerprinting and targetable at scale by automated tools, per WordPress’s own hardening guidance, which states plainly that the exploit information for a disclosed vulnerability is almost certainly in the public domain once the fix ships.

An inactive plugin doesn’t remove that exposure. Its files still execute if they’re present on the server and registered, deactivation just stops the plugin from loading on the front end, it doesn’t delete the code. If you’re not using a plugin, delete it rather than deactivating it and leaving it there.

The same logic that connects an unmaintained site to slow performance connects it to exploitability: both come from code nobody is watching. See why an unmaintained site slows down the same way it gets exploited for how that overlaps.

What good security discipline actually looks like

Running fewer, well-maintained plugins from established developers who patch quickly is a real, measurable reduction in risk. Risk scales with how many separate third-party codebases a site is running, not with running WordPress itself.

Severity is the other variable worth watching directly. A high-severity vulnerability, 17 percent of 2025’s total per Patchstack, is associated with likely mass-scale, automated exploitation. That’s the practical test for how urgently a given patch matters: a plugin that’s unmaintained, has a large install base, and handles user input or authentication is high-risk regardless of how small it feels in your own stack.

See what a maintenance plan should actually include for how that discipline gets specified rather than assumed.

What to do about it

  1. 01Delete plugins you’re not using. Deactivating leaves the files on the server, where they still execute if registered.
  2. 02Check whether a plugin’s developer is still actively patching it. An abandoned plugin stays exploitable no matter how quickly you’d apply an update if one existed.
  3. 03Apply security updates on a defined schedule. Not whenever someone happens to remember.
  4. 04Confirm updates are tested in staging before they go live. A legitimate security patch can still break site functionality when applied blind, which is a different failure than the vulnerability it patches, and both need a fix.

Not sure how many plugins on your site are still actively maintained?

Send NoDrama your URL and get a free website audit, no pitch attached.

Audit My Site

Verify it

After any update, confirm the site still renders and the admin dashboard still loads before considering the patch applied. A rollback path only helps if someone checks that it worked.

Common misconceptions about WordPress security

“WordPress itself is insecure.”

Core’s share of 2025’s disclosed vulnerabilities was 6 low-priority issues, statistically negligible against plugins’ 91 percent. The platform isn’t the risk. The unaudited third-party code running on top of it is.

“A security plugin covers this.”

A security plugin helps with detection and hardening, but it doesn’t patch a vulnerable plugin’s own code. That code stays vulnerable until its own developer ships a fix, or a virtual-patching rule addresses it in the meantime.

“Popular plugins are safer.”

Popularity increases how worthwhile a plugin is to build an automated attack against. It doesn’t guarantee the code was reviewed for the four vulnerability classes above.

Getting this in writing matters as much as getting it right in practice. See what a maintenance plan should actually specify about updates for the language that closes that gap.

What this does not solve

Tested updates and staged rollback catch the case where a legitimate patch breaks something. They don’t find an undisclosed, zero-day vulnerability, and they’re not a substitute for a web application firewall or real-time malware scanning.

This guide isn’t a claim that any specific site is, or isn’t, currently compromised.

So, what are the real security risks of running WordPress?

The risk sits in the plugins and themes running on top of core, not in core itself, and it concentrates further in whatever is outdated, abandoned, or simply numerous. Fewer, actively maintained third-party codebases is the practical lever, not switching platforms.

Frequently asked questions

Plugins accounted for 91 percent of the 11,334 vulnerabilities disclosed across the WordPress ecosystem in 2025, per Patchstack. A plugin is an independently authored codebase that WordPress.org doesn't continuously re-audit after its initial submission review.
Yes. A disclosed vulnerability publishes the exploit recipe alongside the fix, so any site still on the unpatched version becomes an identifiable, automatable target.
Core ships from a single, reviewed codebase maintained by a security team of more than 50 people who backport fixes to older versions. A plugin or theme is a separate codebase by a separate developer, without an equivalent continuous re-audit after launch.
Core accounted for only 6 low-priority issues of the 11,334 vulnerabilities disclosed in 2025, against plugins' 91 percent and themes' 9 percent, per Patchstack. The stuff added to it carries nearly all of the disclosed risk.
Yes. A plugin's files still execute if they're present on the server and registered, so deactivating without deleting leaves the same code, and the same exposure, in place.
Written by Avani NagwannCo-Founder

Avani co-founded NoDrama and is co-founder of Pangolin Marketing, its parent company. She has spent over twenty years in marketing, including multiple stints as CMO for technology brands, and now runs the company behind the product: technology decisions, roadmap, hiring, and go-to-market. She writes about service design, why maintenance keeps getting deprioritised inside businesses, and what a website actually costs to own.

Written by Shashank AyyarCo-Founder

Shashank co-founded NoDrama and is co-founder of Pangolin Marketing. He has spent eighteen years as a consultant and head of marketing to startups and growth-stage companies, work that centred on positioning and demand generation. He writes about positioning, buyer trust, and how businesses should evaluate whoever maintains their site.

Have Us Watch The Plugin Layer

Get Started
Cancel anytime
Yearly runs to the end of the paid year
Real team behind every plan