Kwetsbare plugins

Yoast SEO: geschiedenis van de kwetsbaarheden sinds 2020

Yoast SEO: de geschiedenis van de lekken

Yoast SEO draait op meer dan 10 miljoen sites, dus elke kwetsbaarheid die in de code wordt gepubliceerd, raakt een enorm deel van het WordPress-web. Sinds 2020 telt de geschiedenis van de gratis versie geen enkele kritieke kwetsbaarheid, maar wel een gestage reeks kwetsbaarheden van gemiddelde ernst, vooral scripts die via redactieaccounts worden geïnjecteerd. Hier vind je de gecontroleerde lijst, versie per versie, wat die laat zien en hoe je bijgewerkt blijft zonder erover na te denken.

Yoast SEO in het kort

Yoast SEO is de klassieke SEO-plugin van WordPress: titels en metabeschrijvingen, XML-sitemaps, gestructureerde gegevens (schema), broodkruimels, leesbaarheidsanalyse. Ze wordt sinds oktober 2010 op wordpress.org gepubliceerd door Yoast BV, een Nederlands bedrijf dat in augustus 2021 werd overgenomen door Newfold Digital (moederbedrijf van Bluehost). De gratis versie toont meer dan 10 miljoen actieve installaties (wordpress.org), het maximum dat de directory weergeeft. Een betaalde versie, Yoast SEO Premium, wordt ernaast geïnstalleerd en voegt onder meer een redirectbeheerder toe.

Drie kenmerken maken er een logisch doelwit van. Het aantal installaties is enorm, dus een uitbuitbare kwetsbaarheid levert een aanvaller veel op. De plugin draait in de editor, aan de publieke kant en in de REST API, wat de toegangspunten vermenigvuldigt. En ze verwerkt gegevens die alle redacteuren van de site invoeren (SEO-titels, FAQ- en "How-to"-blokken, slugs, auteursnamen), precies het terrein van stored XSS.

Tijdlijn van de kwetsbaarheden sinds 2020

We hebben elke vermelding in de databases van Wordfence, Patchstack en WPScan vergeleken met de CVE-records en de changelog van Yoast. De gebruikte datum is die van de eerste publicatie van de advisory; die volgt vaak enkele dagen of zelfs maanden na de release van de patch. Kwetsbaarheden die alleen Yoast SEO Premium betreffen, zijn als zodanig aangeduid.

Tijdlijn van de kwetsbaarheden in Yoast SEO van 2021 tot juli 2026: serverpad blootgelegd op 5 oktober 2021 (17.3), XSS in de editor op 2 maart 2023 (20.2.1), Zapier-sleutel Premium op 9 mei 2023 (20.5), XSS SEO Manager op 24 november 2023 (21.1), reflected XSS op 6 mei 2024 (22.6), XSS via de auteursnaam op 14 mei 2024 (22.7), XSS Premium op 2 oktober 2025 (26.0), toegangscontrole Premium op 15 januari 2026 (26.7), XSS via blokken op 5 februari en 21 maart 2026 (26.9 en 27.2), .htaccess-injectie Premium en lezen van metadata op 26 mei 2026 (27.6.1 en 26.6), XSS via de slug op 24 juli 2026 (28.1)
Dertien advisories in iets minder dan vijf jaar, allemaal van gemiddelde ernst wanneer er een score is gepubliceerd.
PublicatieGepatcht inTypeCVSSCVEAccount vereistMisbruik
5 oktober 202117.3 (getroffen: 16.7 tot 17.2)Blootleggen van het volledige serverpad via de REST API5,3 (Patchstack)CVE-2021-25118GeenNiet gedocumenteerd
2 maart 202320.2.1XSS (DOM) in de SEO-instellingen van een bericht6,4 (Wordfence)GeenSchrijverNiet gedocumenteerd
9 mei 202320.5 (getroffen: Premium tot en met 20.4)Premium: resetten van de Zapier-API-sleutel5,3 (Patchstack)CVE-2023-28775GeenNiet gedocumenteerd
24 november 202321.1Stored XSS5,9 (Patchstack)CVE-2023-40680SEO ManagerNiet gedocumenteerd
6 mei 202422.6Reflected XSS via adressen in de adminbalk6,1 (Wordfence)CVE-2024-4041Geen (een slachtoffer moet klikken)Niet gedocumenteerd
14 mei 202422.7Stored XSS via de auteursnaam6,4 (Wordfence)CVE-2024-4984SchrijverNiet gedocumenteerd
2 oktober 202526.0 (getroffen: Premium 25.7 tot 25.9)Premium: stored XSS (gebrekkige reguliere expressie)6,4 (Wordfence)CVE-2025-11241SchrijverNiet gedocumenteerd
15 januari 202626.7 (getroffen: Premium tot en met 26.6)Premium: gebrekkige toegangscontrole5,5 (Patchstack)CVE-2026-40722AuteurNiet gedocumenteerd
5 februari 202626.9Stored XSS via het blokattribuut yoast-schema6,4 (Wordfence)CVE-2026-1293SchrijverNiet gedocumenteerd
21 maart 202627.2Stored XSS via het blokattribuut jsonText6,4 (Wordfence)CVE-2026-3427SchrijverNiet gedocumenteerd
26 mei 202627.6.1 (getroffen: Premium vóór 27.6.1)Premium: injectie van directives in .htaccess via de redirectbeheerderNiet gepubliceerd door YoastNiet vermeld in de advisoryGebruiker die berichten kan schrijvenGeen sporen volgens Yoast
26 mei 202626.6Lezen van SEO-metadata van privé-inhoud (IDOR)4,3 (Wordfence)CVE-2025-14481SchrijverNiet gedocumenteerd
24 juli 202628.1Stored XSS via de slug6,4 (Wordfence)CVE-2026-15425AuteurNiet gedocumenteerd
Kwetsbaarheden in Yoast SEO en Yoast SEO Premium gepubliceerd van 1 januari 2020 tot 3 augustus 2026. "Niet gedocumenteerd": geen aanval beschreven in de geraadpleegde bronnen.

Een kanttekening bij het lezen: de kwetsbaarheid uit 2021 is bij WPScan en Wordfence gedateerd op 5 oktober 2021, maar verschijnt bij Patchstack pas in februari 2022, en het CVE-record werd pas op 28 februari 2022 gepubliceerd.

De opvallendste kwetsbaarheden uitgelegd

2021: het serverpad blootgelegd door de REST API

Van versie 16.7 tot 17.2 voegde Yoast SEO aan de antwoorden van de REST-API-routes wp/v2/posts het volledige interne pad van de uitgelichte afbeelding toe (bijvoorbeeld de map van de hosting op de schijf). Het is de enige kwetsbaarheid in de gratis versie uit deze periode die zonder account uitbuitbaar was. Ze geeft op zich geen toegang, maar wel informatie die nuttig is om een andere aanval voor te bereiden, vandaar de gematigde score. Onderzoeker Fariq Fadillah Gusti Insani meldde haar; versie 17.3 van 5 oktober 2021 dichtte haar. Ons artikel over de beveiliging van de WordPress REST API gaat dieper in op dit soort blootstelling.

Stored XSS door schrijvers, een terugkerende familie

Zeven van de negen kwetsbaarheden in de gratis versie zijn cross-site scripting (XSS), waarvan zes stored. Bij die laatste is het patroon bijna altijd hetzelfde: een gebruiker met een redactierol (schrijver, auteur, of SEO Manager voor de kwetsbaarheid in 21.0, gemeld door Rafie Muhammad van Patchstack) plaatst JavaScript-code in een gegeven dat Yoast opnieuw toont zonder het correct te escapen, en die code wordt uitgevoerd in de browser van iedereen die de pagina opent, ook een beheerder. De injectiepunten verschillen:

  • de SEO-instellingen van een bericht in de editor (versie 20.2, gemeld door Leonidas Milosis van Wordfence, gepatcht op de dag dat de advisory verscheen);
  • de weergavenaam van de auteur, overgenomen in de verrijkte gegevens voor Slack-voorbeelden (22.6, gepatcht in 22.7 op 14 mei 2024, twee weken na de ontdekking);
  • blokattributen: yoast-schema (26.8, gemeld door suyoung kim) en daarna jsonText van het blok "How-to" (27.1.1);
  • de slug van een bericht, opnieuw getoond bij bulkbewerking (28.0, gemeld door Dmitrii Ignatyev, alleen uitbuitbaar met "mooie" permalinks).

Deze kwetsbaarheden vereisen een account en dienen dus niet voor massale aanvallen op willekeurige sites. Ze tellen wel op sites met meerdere auteurs, blogs die externe bijdragen accepteren of sites waar een redactieaccount is gestolen: het script kan handelen met de rechten van de beheerder die de pagina bekijkt. Onze gids over XSS-kwetsbaarheden in WordPress legt het mechanisme in detail uit.

Mei 2024: een reflected XSS zonder account

Tot en met versie 22.5 werden sommige adressen in het Yoast-menu van de adminbalk niet ge-escapet. Een aanvaller zonder account kon een link maken die, geopend door een ingelogde gebruiker, een script in diens sessie uitvoerde. Het slachtoffer moest klikken, wat de score beperkt tot 6,1. De kwetsbaarheid, gemeld door Bassem Essam, werd gepatcht in 22.6 op 30 april 2024, een week vóór de publicatie van de advisory door Wordfence op 6 mei.

Mei 2026: privémetadata leesbaar voor een schrijver

De REST-route voor het opzoeken van metadata controleerde niet of de gebruiker de gevraagde inhoud mocht lezen. Een schrijver kon dus via de parameter post_id de SEO-metadata van elke inhoud lezen, ook concepten en privé-inhoud van andere gebruikers. De patch verscheen in versie 26.6 van 15 december 2025; de publieke advisory werd pas op 26 mei 2026 gepubliceerd. Die vertraging is typisch: een site die regelmatig werd bijgewerkt, was vijf maanden beschermd voordat de kwetsbaarheid bekend werd.

Premium: van de redirectbeheerder naar het bestand .htaccess

De ernstigste kwetsbaarheid van de periode treft alleen Yoast SEO Premium (en de pakketten waarin die zit, zoals Yoast WooCommerce SEO). Op 26 mei 2026 publiceerde Yoast versie 27.6.1 en een advisory: een ingelogde gebruiker met de capability edit_posts kon met speciale tekens in een redirect onverwachte directives injecteren in het bestand .htaccess van de site. Volgens Yoast reikt het effect van een onbereikbare site tot code-uitvoering op afstand. Er moest aan drie voorwaarden worden voldaan: een Apache-server, de handmatig ingeschakelde redirectmodus op basis van .htaccess (de standaard PHP-modus is niet getroffen) en zo'n account. Yoast meldt geen sporen van misbruik te hebben gevonden in een steekproef van getroffen sites. De patch schoont de redirects op, verwijdert een ongebruikt endpoint en voegt een waarschuwing toe bij ongebruikelijke activiteit.

De andere kwetsbaarheden in Premium zijn bescheidener: in 2023 kon de Zapier-API-sleutel zonder account worden gereset (gemeld door Rafie Muhammad van Patchstack, gepatcht in 20.5); in 2025 maakte een reguliere expressie die een attribuut uit de inhoud moest verwijderen het mogelijk JavaScript-event-handlers te injecteren (versies 25.7 tot 25.9, gepatcht in 26.0, gemeld door Matthew Rollings); in januari 2026 werd een fout in de toegangscontrole gepatcht in 26.7.

Staafdiagram van de kwetsbaarheden in gratis Yoast SEO per jaar volgens Patchstack: 0 in 2020 en 2021, 1 in 2022, 2 in 2023, 2 in 2024, 0 in 2025 en 4 in 2026 tot 3 augustus, allemaal van gemiddelde ernst
Negen kwetsbaarheden in de gratis versie volgens Patchstack, van 1 januari 2020 tot 3 augustus 2026, allemaal van gemiddelde ernst.

Wat deze geschiedenis laat zien

  • Geen kritieke kwetsbaarheid in de gratis versie sinds 2020. Alle beoordeelde kwetsbaarheden scoren van 4,3 tot 6,4 op 10. Geen enkele laat toe een site zonder account over te nemen. Dat is een duidelijk contrast met andere SEO-plugins: All in One SEO kende eind 2021 een kritieke rechtenescalatie (zie onze tijdlijn van de kwetsbaarheden in All in One SEO); Rank Math wordt besproken in een apart artikel.
  • Stored XSS overheerst. Zes van de negen kwetsbaarheden, vaak verbonden met de blokken en gestructureerde gegevens die door de versies heen zijn toegevoegd. Elke nieuwe functie die invoer opnieuw toont, is een nieuw injectiepunt.
  • De rol van accounts telt. De meeste kwetsbaarheden vereisen een schrijver of een auteur. Minimale rechten toekennen (zie rollen en minimale rechten) verkleint het risico direct.
  • De patch gaat vaak vooraf aan de advisory. 21.1 verscheen in september 2023, de advisory in november; 26.6 in december 2025, de advisory in mei 2026. Een site die snel bijwerkt, is beschermd nog voordat de kwetsbaarheid openbaar is.
  • Premium heeft een eigen geschiedenis. De functies (redirects, integraties) voegen een aanvalsoppervlak toe dat de gratis versie niet heeft, en de updates lopen via het MyYoast-account, niet via wordpress.org.

Deze balans sluit aan bij wat we voor de WordPress-core opmaken in de tijdlijn van de beveiligingsversies en, breder, in de kwetsbaarheden van plugins in cijfers: het grootste deel van het risico komt van plugins, en de snelheid van bijwerken maakt het verschil.

Jezelf beschermen

  • Werk Yoast SEO meteen bij. Controleer je versie onder Plugins; op de datum van dit artikel zijn alle vermelde kwetsbaarheden gepatcht in 28.1 (en in 27.6.1 voor Premium).
  • Schakel automatische updates in voor Yoast SEO: de plugin brengt ongeveer elke twee weken een versie uit, en de patches komen vaak vóór de publieke advisory. Onze gids over automatische updates van plugins legt uit hoe je dat doet zonder de site te breken.
  • Premium: controleer de redirectmodus. In de instellingen van de redirects was de standaard PHP-modus niet getroffen door de kwetsbaarheid van mei 2026. Gebruik je de modus .htaccess, werk dan bij en controleer de inhoud van het bestand.
  • Beperk het aantal redactieaccounts en verwijder de accounts die niet meer worden gebruikt: de meeste kwetsbaarheden vereisen een schrijver of een auteur.
  • Verwijder dubbele of ongebruikte SEO-plugins: twee actieve SEO-plugins betekent twee kwetsbaarheidsgeschiedenissen. Zie verlaten plugins.
  • Voeg een applicatiefirewall toe met virtuele patches om de periode tussen de advisory en jouw update te overbruggen (vergelijking van WAF's), en houd de kwetsbaarheden van je plugins in de gaten.

WP Masquerade Pro kan je waarschuwen. Het vergelijkt elke dag de versies van je plugins met de openbare database WPVulnerability.net en stuurt je een e-mailmelding met de ernst en de gepatchte versie (instellingen van de meldingen). De klantenzone toont de openstaande updates en de kwetsbare sites (monitoring van sites). Het waarschuwt, maar patcht niet: WP Masquerade voert de updates niet voor je uit en is geen firewall. Om tools te vergelijken, zie onze selectie van de beste beveiligingsplugins.

Om te onthouden

  • Gratis Yoast SEO: negen kwetsbaarheden gepubliceerd van 1 januari 2020 tot 3 augustus 2026 (Patchstack), allemaal van gemiddelde ernst, geen gedocumenteerde aanvallen.
  • Zes daarvan zijn stored XSS, waarvoor een account nodig is (schrijver, auteur of SEO Manager).
  • Yoast SEO Premium: de .htaccess-kwetsbaarheid van mei 2026 kon tot code-uitvoering leiden, maar alleen met de redirectmodus .htaccess op Apache; gepatcht in 27.6.1.
  • De patch verschijnt vaak vóór de publieke advisory: automatische updates beschermen je vóór iedereen.

Bronnen

  • WordPress.org: Yoast SEO, beschrijving en actieve installaties (externe link, opent in een nieuw tabblad)
  • CVE.org: CVE-2021-25118, Yoast SEO 16.7-17.2 Unauthenticated Full Path Disclosure (28 februari 2022) (externe link, opent in een nieuw tabblad)
  • CVE.org: CVE-2023-40680, Yoast SEO ≤ 21.0 Cross Site Scripting (30 november 2023) (externe link, opent in een nieuw tabblad)
  • Yoast Developer: changelog van Yoast SEO 26.6 (15 december 2025) (externe link, opent in een nieuw tabblad)

Andere geraadpleegde bronnen: andere CVE-registraties, officiële pagina's van de leveranciers, publicaties van beveiligingsonderzoekers, databases van Wordfence, WPScan en Patchstack.

WordPress-beveiliging, zonder ruis

Eén e-mail wanneer het ertoe doet: nieuw waargenomen aanvallen, updates van de plugin en praktische gidsen. Geen spam, afmelden met één klik.

Begin gratis, stap over op Pro wanneer je eraan toe bent

De gratis versie verbergt WordPress al en verplaatst de inlogpagina. Pro voegt aliassen, tweestapsverificatie en bewaking toe.