Skip to content
Doctor SEO

News

All in One SEO 5.0.2.1: the fix is out, the exploit lands on 21 October

The fix shipped on 1 October as version 5.0.2.1; WPScan publishes the exploit code on the 21st. What each CVE record says, where they contradict each other, and the five-minute check.

13 October 2026 14 min read
Timeline: AIOSEO 5.0.2 on 22 September, 5.0.2.1 on 1 October, the CVE records on 2 and 3 October, 5.0.3 on 6 October and the WPScan proof of concept on 21 October 2026.

All in One SEO shipped a fix for an unauthenticated vulnerability on 1 October 2026. WPScan, which coordinated the report, says it will publish the proof-of-concept code on 21 October 2026. That is eight days from today.

The fix is version 5.0.2.1. The trap is that version 5.0.2, released nine days earlier, also carried a security line in its changelog — for a different flaw — so a site that updated in late September and stopped is still exposed to the one with a date on it.

The plugin reports “2+ million” active installations in the WordPress plugin directory, which publishes no exact figure. Below is what each primary record says, where the records disagree with each other, and the check that tells you in five minutes whether this is your problem.

What happened

Three CVE records concerning All in One SEO were published in the first three days of October 2026. Two of them describe unauthenticated arbitrary shortcode execution; the third describes a cross-site scripting flaw that needs a logged-in administrator to trigger it. All three were read from the CVE Program’s record service on 13 October 2026.

The record that carries a deadline is CVE-2026-19856, published by WPScan on 2 October 2026 at 18:25 UTC and reserved on 14 August 2026. The WPScan advisory is titled “All in One SEO < 5.0.2.1 – Unauthenticated Arbitrary Shortcode Execution via Search Query”, and it ends with a sentence that sets the clock: “The PoC will be displayed on October 21, 2026, to give users the time to update.” The advisory credits Jakub Herman as the finder and shows no proof-of-concept code today.

Timeline of the All in One SEO shortcode vulnerabilityTimeline with six milestones. On 22 September 2026 AIOSEO 5.0.2 fixes the SEO Preview cross-site scripting flaw. On 1 October 2026 AIOSEO 5.0.2.1 fixes the shortcode execution flaw. On 2 October WPScan publishes the CVE-2026-19856 record. On 3 October Wordfence publishes the CVE-2026-100152 record. On 6 October AIOSEO 5.0.3 becomes the current version in the WordPress plugin directory. On 21 October 2026 WPScan will publish the proof of concept. Today is 13 October 2026.The fix shipped on 1 October; the exploit publishes onthe 21stDates taken from the AIOSEO changelog, the CVE records and the WPScan advisory, all read live on 13 October2026.22 SepAIOSEO 5.0.2Fixes the SEOPreview XSS1 OctAIOSEO 5.0.2.1Fixes the shortcodeexecution2 OctWPScanPublishesCVE-2026-198563 OctWordfencePublishesCVE-2026-1001526 OctAIOSEO 5.0.3Current directoryversion21 OctWPScanPublishes the proofof conceptTODAY: 13 OctoberThe WPScan advisory reads: “The PoC will be displayed on October 21, 2026, to give users the time to update.” That is eight daysaway, and 5.0.2 is not enough: the shortcode fix is 5.0.2.1.AIOSEO changelog; CVE records CVE-2026-19856 and CVE-2026-100152; WPScan. All read 13 Oct 2026.doctor-seo.net
Timeline built from the All in One SEO changelog, the CVE records and the WPScan advisory, all read on 13 October 2026. These are published dates, not measurements. No study accompanies any of them, so there is no sample size to report.

Roger Montti reported the two issues at Search Engine Journal on 12 October 2026, which is how the story reached the industry: ten days after the records went up, nine days before the exploit code does.

What the records actually say

The three records are not interchangeable, and the differences between them are the reason this post exists. Each of the quotations below comes from the CVE record itself, read on 13 October 2026.

The three All in One SEO CVE records of October 2026Three-row table. The CVE-2026-19856 record, published by WPScan on 2 October 2026, says an unauthenticated attacker can run any registered shortcode and that on sites upgraded from older versions the protection is disabled entirely; version 5.0.2.1 fixes it. The CVE-2026-100152 record, published by Wordfence on 3 October 2026, describes the same unauthenticated execution but requires the AIOSEO breadcrumb to be rendered on the search results page, and states no fixed version beyond 5.0.2. The CVE-2026-85492 record, published by Wordfence on 2 October 2026, describes a DOM-based cross-site scripting flaw that needs a user holding the aioseo_manage_seo capability to open the SEO Preview, and version 5.0.2 fixes it.Three CVE records, and two describe the samecomponentWhat each record says, with nothing added. Neither of the two shortcode records mentions the other.RECORD · WHO PUBLISHED ITWHAT THE RECORD SAYSFIXED INCVE-2026-19856 · WPScan, 2 OctUnauthenticated: runs any registered shortcode.On sites upgraded from older versions theprotection is disabled entirely5.0.2.1CVE-2026-100152 · Wordfence, 3OctUnauthenticated, but requires the AIOSEObreadcrumb to be rendered on the search resultspageNot stated (>5.0.2)CVE-2026-85492 · Wordfence, 2OctDOM-based XSS: needs a user holding“aioseo_manage_seo” to open the SEO Previewfrom the admin bar5.0.2The two shortcode records carry the same CVSS 3.1 score (6.5) and the same vector, and credit a finder recorded as “Jakub Herman”and as “Kuba”. Neither record cites the other.MITRE CVE records for CVE-2026-19856, CVE-2026-100152 and CVE-2026-85492, read 13 Oct 2026.doctor-seo.net
The three October 2026 CVE records for All in One SEO, what each one says, and the version each names as fixed. Read from the CVE Program record service on 13 October 2026. The CVSS figures are assigned ratings, not measurements.

CVE-2026-19856 (CNA: WPScan, 6.5 Medium, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N) states that the plugin “does not correctly determine which shortcodes are present in content derived from user input” before deciding which ones to strip, so unauthenticated users can run arbitrary registered shortcodes. It adds a detail that matters more than the score: on sites upgraded from older versions, the protection is disabled entirely. The record’s version boundary is “less than 5.0.2.1”.

CVE-2026-100152 (CNA: Wordfence, 6.5 Medium, the identical vector) states that the plugin “is vulnerable to arbitrary shortcode execution in all versions up to, and including, 5.0.2”, because the software allows an action “that does not properly validate a value before running do_shortcode”. It then names a precondition the WPScan record does not: “This requires the AIOSEO breadcrumb to be rendered on the search results page via the block, widget, shortcode, or template tag.” Its references point at app/Common/Breadcrumbs/Frontend.php and at changeset 3723760 in the plugin repository, which this run cites as referenced by the record rather than as read — the Trac page did not return content.

CVE-2026-85492 (CNA: Wordfence, 6.1 Medium, CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) is the separate one: a DOM-based cross-site scripting flaw in versions up to and including 5.0.1.1, reached through the URL pathname, where the victim must hold the aioseo_manage_seo capability and open the SEO Preview panel from the admin toolbar while on the crafted page. Version 5.0.2 fixed it. Its finder is credited as mak3bread.

So the two shortcode records carry the same score, the same CVSS vector and a finder recorded once as “Jakub Herman” and once as “Kuba”, and they were published eleven hours apart by two different numbering authorities. Neither record cross-references the other, and they state different preconditions. Nothing in the published record says whether that is one flaw described twice or two flaws in the same component, and this post does not claim to know.

Wordfence’s own advisory pages for both of its records could not be fetched during this run: they render their content in JavaScript and return an empty document. Wordfence is the numbering authority for both, so the text quoted above is Wordfence’s own, taken from the CVE records it authored.

What the plugin’s own changelog says

All in One SEO’s changelog dates version 5.0.2 to 22 September 2026, version 5.0.2.1 to 1 October 2026 and version 5.0.3 to 6 October 2026. The 5.0.2.1 entry has exactly two lines, and the security one reads in full: “Improved security protections for shortcodes on search pages.”

Asked twice, in an explicit yes-or-no form, whether that entry contains the strings “CVE”, “unauthenticated”, “vulnerability” or a severity rating, the answer was no on every term, on both reads. The 5.0.2 entry is the same shape: “Improved security and access protections in SEO Revisions, SEO Analysis and the SEO Preview.” A site owner reading only the changelog has no way to tell that either line describes an unauthenticated flaw with a public exploit scheduled, and no way to tell which of the two updates is the urgent one.

What it changes in practice

Nothing about ranking. This is not an algorithm event and will show up in no volatility tracker. What changes is the window: a flaw reachable without credentials, in a plugin on more than two million sites, has public exploit code scheduled for a named date, and the fix has been in the plugin directory since 1 October.

Three consequences follow from the records themselves. First, 5.0.2 is not enough — it fixes the scripting flaw and not the shortcode one, which is a distinction the version numbers do nothing to signal. Second, the Wordfence precondition (the breadcrumb on the search results page) is a reason to look at your own templates, but it is not a safety certificate, because the WPScan record states no such precondition and adds the upgraded-install case instead. Third, the CISA assessment attached to CVE-2026-19856 records exploitation as “none” and automatable as “yes”, which is a different reading of the same flaw from the one a 6.5 implies.

What to do this week

Five steps, in order, none of which needs a security budget.

  1. Read your installed version, not your update screen. In WP-CLI: wp plugin get all-in-one-seo-pack --field=version. Anything below 5.0.2.1 is in scope for the shortcode record.
  2. Update to 5.0.2.1 or later. 5.0.3 has been the directory version since 6 October 2026. If you run a staging gate, this is the week to use it rather than to skip it.
  3. If you cannot update today, look at your search results template. Load https://yoursite.com/?s=test and check whether the AIOSEO breadcrumb renders there, through a block, a widget, a shortcode or a template tag. Removing it addresses the precondition named in the Wordfence record and not the one named in the WPScan record, so treat it as a stopgap and not as a fix.
  4. Look for shortcode syntax in your search queries. In an access log: grep -E '\?s=[^ ]*(%5B|\[)' access.log. Square brackets in a search query are not proof of anything on their own, but they are the shape of the thing, and the log is free.
  5. Put 21 October 2026 in the calendar. If the site is not on 5.0.2.1 or later by then, the published proof of concept turns a described flaw into a copy-and-paste one.

Two notes while you are in there. A plugin holding a site’s whole technical SEO configuration — sitemaps, robots rules, canonicals, redirects — is a bigger blast radius than its category suggests, which argues for keeping your tool stack short rather than complete. And if an AI assistant has write access to your WordPress, those permissions belong in the same calculation; we set out what that access allows in Claude and your CMS.

Where the industry genuinely disagrees

Three questions sit underneath this story, and this site has not ruled on any of them. They are reported here as open.

Is a scheduled proof-of-concept release a disclosure practice or a deadline? One camp holds that publishing exploit code on a fixed date, announced in advance, is the only lever that moves a long tail of unpatched sites, that defenders need the code to write detections, and that the flaw is already known to anyone who reads a diff. The other holds that a published date is a date attackers also work to, that it converts a described flaw into a commodity for every site that has not updated, and that the people who will be hit are exactly the ones who were never going to read the advisory. Nobody can settle it from the record, because no published study measures compromise rates on either side of a scheduled PoC release.

Does a changelog line that names no CVE and no severity discharge the vendor’s duty? One camp says a changelog that names the CVE arms attackers against every site that has not yet updated, and that the CVE databases exist precisely so the changelog does not have to carry that load. The other says a site owner cannot prioritise an update they cannot distinguish from a typography fix, and that “improved security protections” is a sentence that could describe anything. Nothing here is measurable either: no study compares patch uptake against changelog wording.

Does a CVSS base score tell you the risk your site faces? The two shortcode records agree on 6.5 and on the vector. The CISA assessment attached to one of them says exploitation “none” and automatable “yes”. One camp treats the base score as a shared language that lets a team triage without re-deriving everything; the other treats it as a property of the flaw rather than of your installation, and prefers exploitability-based measures. A plugin on two million sites with an unauthenticated vector is the case where the gap between those two readings is widest.

What I think

I will defend one claim here, and it is documentary: the published record about this flaw is inconsistent in ways that affect what a site owner does next. Two numbering authorities describe the same component eleven hours apart with different preconditions and different version boundaries, and the vendor’s own changelog names neither record. That is not an accusation of negligence against anyone — it is what the four documents say when you put them side by side, and anyone can reproduce it from the links at the bottom of this page.

What I will not say is anything about exploitation. I have no telemetry, no honeypot data and no incident reports, and nobody has published any. I will not tell you that 6.5 understates this, because I cannot measure what it understates. I will not tell you that WPScan is wrong to schedule the proof of concept, or right to: that is a judgement about a trade-off nobody has quantified. And I will not tell you that the breadcrumb check makes you safe, because one of the two records does not mention the breadcrumb at all.

The one thing that needs no argument is the update. The vendor shipped the fix twelve days ago, both records agree that 5.0.2.1 closes it, and the cost of installing it is a minute. Disclosure ethics are genuinely contested; installing a patch that already exists is not. For the record, this site runs Yoast rather than All in One SEO, so there is no first-party install here to report on — our own coverage of how exploitation economics work is a reading of other people’s data, not of ours.

What is still unknown

Whether the two shortcode records describe one flaw or two. Whether any site has been exploited through either. How many of the two-million-plus installations sit below 5.0.2.1 today, which no party publishes. What the fix actually changed, since the referenced changeset could not be read this run. And what WPScan publishes on 21 October — the only one of these with a date attached.

Sources

  • CVE Program record, CVE-2026-19856 — numbering authority WPScan, published 2 October 2026, reserved 14 August 2026. Read 13 October 2026.
  • CVE Program record, CVE-2026-100152 — numbering authority Wordfence, published 3 October 2026, reserved 25 September 2026. Read 13 October 2026.
  • CVE Program record, CVE-2026-85492 — numbering authority Wordfence, published 2 October 2026. Read 13 October 2026.
  • WPScan, “All in One SEO < 5.0.2.1 – Unauthenticated Arbitrary Shortcode Execution via Search Query”, published 2 October 2026, last updated 10 October 2026. Read 13 October 2026.
  • All in One SEO, changelog — entries for 5.0.2 (22 September 2026), 5.0.2.1 (1 October 2026) and 5.0.3 (6 October 2026). Read twice on 13 October 2026.
  • WordPress plugin directory, All in One SEO — version 5.0.3, “2+ million” active installations, no exact figure published. Read 13 October 2026.
  • Wordfence, threat intelligence entry 9fa47d2b — referenced by CVE-2026-100152. The page returned no content to an automated fetch on 13 October 2026, so nothing is quoted from it.
  • Roger Montti, Search Engine Journal, “All In One SEO WordPress Plugin Vulnerable To Two Exploits”, 12 October 2026. The report that surfaced the records.

No study is cited in this article, because none exists on any of it: every figure above is a date, a version number or an assigned severity rating, and none of them is a measurement. Where a sample size would belong, there is none to report.