WordPress 7.1.1 behebt nicht authentifizierte XSS in wpautop()

WordPress 7.1.1 behebt nicht authentifizierte XSS in wpautop()

WordPress 7.1.1 behebt 11 Sicherheitslücken, darunter eine nicht authentifizierte gespeicherte XSS in wpautop(), die durch anonyme Kommentare ausgelöst werden kann.

WordPress 7.1.1, veröffentlicht am 17. September 2026, behebt 11 Sicherheitslücken und 17 Fehler im WordPress-Core. Die schwerwiegendste davon ermöglicht es einem anonymen Besucher, Code auf einer Website einzuschleusen, die öffentliche Kommentare akzeptiert. Die Schwachstelle ist eine nicht authentifizierte gespeicherte Cross-Site-Scripting (XSS)-Lücke in wpautop(), der Funktion, die Zeilenumbrüche in Absätze umwandelt – auf nahezu jedem Inhalt, den WordPress rendert. Eine XSS-Schwachstelle ist eine, bei der ein Angreifer seinen eigenen Code im Browser einer Person ausführt, die eine Website besucht, als ob die Website selbst ihn ausgeliefert hätte. Das Wort „gespeichert“ bedeutet, dass der schädliche Inhalt zuerst auf der Website gespeichert und dann jedem Besucher, der die betroffene Seite lädt, übermittelt wird. Die Schwachstelle betrifft den WordPress-Core bis einschließlich Version 7.1 und trägt die Kennung CVE-2026-93485. Sie wurde von Rafie Muhammad gemeldet und ist in einer Analyse von Patchstack dargelegt, die besagt, dass die eigenen Kunden des Unternehmens davor geschützt sind, und die dennoch empfiehlt, auf die neueste verfügbare WordPress-Version zu aktualisieren. Der Eintrag hat außerdem einen CVSS 3.1-Score von 7.1 gemäß dem Vektor AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L. CVSS ist eine weit verbreitete Schweregradskala, bei der eine höhere Zahl eine schwerwiegendere Schwachstelle bedeutet.

Der Einstiegspunkt macht diesen Fall ungewöhnlich. Patchstacks Bericht stellt fest, dass der Angriff überhaupt kein Konto erfordert. Die Nutzlast wird in einen gewöhnlichen Kommentar eingefügt und über das normale Kommentarformular von einem anonymen Besucher übermittelt. Sie kommt an wp_kses() vorbei, der WordPress-Komponente, die Kommentare von gefährlichem Markup bereinigt, weil nichts im eingereichten Text wie die Art von Markup aussieht, die wp_kses() entfernen soll. Im gespeicherten Zustand erscheint der Kommentar harmlos. Gefährlich wird er erst später, wenn die Website ihn anzeigt und die Anzeigefilter das Vorhandene neu anordnen.

Die Senke ist wpautop() in wp-includes/formatting.php. Patchstack beschreibt sie als den einzigen Inhaltsfilter im WordPress-Core, der HTML nicht parst: Sie arbeitet mit regulären Ausdrücken auf Rohtext – Such- und Ersetzungsmustern – und einer dieser Ausdrücke war sich quoted Attributwerte nicht bewusst. Das in Versionen bis einschließlich 7.1 verwendete Muster erfasste alles zwischen einem Absatz-Tag und dem ersten >-Zeichen, auf das es traf. Das funktioniert korrekt für ein wohlgeformtes Tag, bei dem das erste > das schließende ist. Es bricht, wenn ein > innerhalb eines quoted Attributwerts auftaucht, weil der Ausdruck dann die Mitte eines Attributs als Ende des Tags liest und ein Absatzelement hineinverschiebt.

Der Angreifer muss dieses >-Zeichen nicht selbst liefern. Ein paar Zeilen weiter oben in derselben Funktion schützt wpautop() Zeilenumbrüche innerhalb von Tags, indem es sie durch einen Platzhalter ersetzt, und dieser Platzhalter ist ein HTML-Kommentar. Ein HTML-Kommentar endet mit -->, sodass ein einfacher Zeilenumbruch innerhalb eines Attributwerts zu einem > wird, das in einem Attributwert sitzt. Die Kommentar-Allowlist von WordPress erlaubt , und ein Zeilenumbruch innerhalb dieses cite-Werts ist nichts, was wp_kses() entfernen müsste. Wie Patchstack es ausdrückt: WordPress liefert das Zeichen, das der Angriff benötigt.

Von dort wird das Tag in zwei Hälften gerissen, das eigentliche schließende Anführungszeichen des Attributs bleibt gestrandet, und die verbleibenden Anzeigefilter erledigen den Rest. Vom Angreifer kontrollierter Text landet in dem Teil des Tags, in dem Attribute hingehören, statt sicher innerhalb eines Attributwerts, sodass das Ergebnis eine Skriptausführung im eigenen Origin der Website für jeden Besucher ist, der die Seite lädt – unabhängig davon, ob dieser Besucher angemeldet ist. Patchstack gibt an, die Ausbruchskette oder eine funktionierende Nutzlast nicht zu veröffentlichen. Der Fix in WordPress 7.1.1 macht den Ausdruck quoting-bewusst, sodass ein > innerhalb eines quoted Werts nicht mehr als Ende eines Tags gelesen wird.

Eines verhindert, dass die Schwachstelle ein Drive-by-Angriff ist. Patchstack merkt an, dass der Kommentar veröffentlicht werden muss. In einer Standard-WordPress-Installation hält eine Einstellung namens comment_previously_approved den Kommentar eines Erstkommentators zur Moderation zurück, sodass die Nutzlast in der Warteschlange liegt, bis ein Moderator sie freigibt. Das bremst einen Angreifer aus, aber Moderation ist keine Sicherheitskontrolle. Kommentare freizugeben ist Routinearbeit, die Nutzlast wirkt in der Moderationswarteschlange unauffällig, und wer zuvor schon einmal kommentiert hat, wird von da an automatisch freigegeben. Websites, die öffentliche Kommentare akzeptieren, sollten dies als vorrangigen Fix der Version behandeln, besonders dort, wo die Moderation delegiert wird oder wiederkehrende Kommentatoren automatisch freigegeben werden.

Der Offenlegungszeitplan, wie Patchstack ihn festhält, beginnt am 15. September 2026, als Rafie Muhammad das Problem beim Patchstack Vulnerability Disclosure Program meldete, wo es validiert und bestätigt wurde, dass es dem WordPress-Team mitgeteilt wurde. WordPress 7.1.1 wurde mit dem Fix am 17. September 2026 veröffentlicht, zusammen mit Backports auf ältere unterstützte Zweige. Der Eintrag wurde am 18. September 2026 in der Patchstack-Schwachstellendatenbank veröffentlicht.

Die anderen zehn Fixes betreffen hauptsächlich Zugriffskontroll- und Offenlegungsprobleme, und die meisten erfordern ein Konto mit bestimmten Berechtigungen auf der Website. Contributor-Zugriff reichte für ein beliebiges Überschreiben von Beiträgen und für einen Path Traversal im REST-API-Templates-Controller, beide gemeldet von Anthropic. Ein Path Traversal ist eine Schwachstelle, die es jemandem ermöglicht, auf Dateien außerhalb des Ordners zuzugreifen, auf den er beschränkt sein sollte, und die REST-API ist die standardmäßige Schnittstelle, die WordPress bereitstellt, damit andere Software Inhalte lesen und ändern kann. Contributor-Zugriff reichte auch aus, um die Slugs – die kurzen identifizierenden Namen – von Entwürfen und ausstehenden Beiträgen offenzulegen, gemeldet von hermanhms. Jeder authentifizierte Benutzer konnte Kommentare neu zuordnen, einschließlich Notizen, gemeldet von viridis. Author-Zugriff reichte aus, um Changeset-Beiträge über XML-RPC – eine ältere Fernschnittstelle für externe Software – zu veröffentlichen, wobei die Prüfung der Custom-CSS-Berechtigung umgangen wurde, gemeldet von Ben Bidner vom WordPress-Sicherheitsteam. Die übrigen sind eine gespeicherte XSS in benutzerdefinierten Header-Bildern einiger Themes und ein HTML-API-Problem, das geänderten Text aus einem HTML-Kommentar entkommen ließ, beide gemeldet von Jeremy Felt vom WordPress-Sicherheitsteam; eine präparierte URL, die ein Theme von WordPress.org installieren und in der Vorschau anzeigen konnte, gemeldet von Paulos Yibelo und pwn.ai; ein Multisite-Problem, das einen Website-Administrator ein Plugin, das nur netzwerkweit verfügbar sein sollte, netzwerkweit aktivieren ließ, gemeldet von Jesse McNeil; und eine Informationsoffenlegung, die den Titel eines privaten übergeordneten Beitrags preisgab, gemeldet von HDWSec. Multisite ist eine WordPress-Funktion, die mehrere Websites aus einer Installation betreibt, und ein Plugin netzwerkweit zu aktivieren bedeutet, es für jede Website in diesem Netzwerk auf einmal einzuschalten.

WordPress 7.1.1 ist im Dashboard unter Updates oder direkt von WordPress.org verfügbar, und Websites mit aktivierten automatischen Hintergrund-Updates beziehen es von selbst. Das WordPress-Team hat diese Fixes bis zurück zu Version 4.7 auf ältere Zweige zurückportiert; ein Backport ist ein für die neueste Version geschriebener Fix, der dann auf eine ältere, noch unterstützte Version angewendet wird. Die Versionshinweise decken ab, welcher Zweig welchen Fix erhielt, aber der Rat von Patchstack ist deutlich: Nur die neueste WordPress-Version wird aktiv unterstützt, und auf dieser sollte man sein. Für Website-Betreiber, die nicht jede Core-Version selbst nachverfolgen möchten, bietet AEU Hosting Managed WordPress Hosting mit umfassend gemanagter Sicherheit, und die Service-Seite beschreibt, was das abdeckt.

So schützen Sie sich

  1. Öffne dein WordPress-Dashboard, klicke auf Updates und installiere Version 7.1.1, wenn sie angeboten wird, oder bitte die Person, die deine Website betreut, es heute zu tun.
  2. Stelle sicher, dass automatische Hintergrund-Updates eingeschaltet sind, damit zukünftige Sicherheitsversionen installiert werden, ohne dass du daran denken musst.
  3. Wenn deine Website Kommentare akzeptiert, halte die Moderation für Personen aufrecht, die noch nie kommentiert haben, und gib keine Kommentare frei, die unbekannt oder sinnlos erscheinen.
  4. Frage bei deinem Hosting-Unternehmen nach, ob es WordPress-Sicherheitsupdates für dich einspielt und wie schnell es das tut.
  5. Finde heraus, welche WordPress-Version deine Website verwendet, und wenn es eine ältere ist, plane den Umstieg auf die neueste Version, denn nur die neueste Version wird aktiv unterstützt.

Schwachstellen & Lösungen

Begriffe Erklärt

  • XSS Cross-Site-Scripting, ein Angriff, bei dem jemand seinen eigenen Code im Browser einer Person ausführt, die eine Website besucht, als ob die Website ihn ausgeliefert hätte.
  • wpautop() Eine in WordPress eingebaute Funktion, die die Zeilenumbrüche in einem Textstück in Absatz-Tags umwandelt, wenn eine Seite angezeigt wird.
  • wp_kses() Der in WordPress eingebaute Bereiniger, der gefährliche Markup-Teile aus Kommentaren und anderen Inhalten entfernt, bevor sie gespeichert werden.
  • CVSS Common Vulnerability Scoring System, eine weit verbreitete Skala, bei der eine höhere Zahl eine schwerwiegendere Sicherheitslücke bedeutet.
  • path traversal Eine Schwachstelle, die es einem Angreifer ermöglicht, auf Dateien außerhalb des Ordners zuzugreifen, auf den er beschränkt sein sollte.
  • Multisite Eine WordPress-Funktion, die es einer Installation ermöglicht, mehrere Websites zu betreiben.
  • backport Das Anwenden eines für die neueste Version einer Software geschriebenen Fixes auf eine ältere Version, die noch unterstützt wird.

Verwandte AEU-Dienste

  • AEU Panel Control-Panel für Managed Hosting