Reflektierte Cross-Site Scripting-Schwachstelle im WordPress Profile Builder Plugin behoben

4. März 2022

Am 4. Januar 2022 leitete das Wordfence Threat Intelligence Team den Prozess der verantwortlichen Offenlegung einer Schwachstelle ein, die wir in "Profile Builder - User Profile & User Registration Forms" entdeckt haben, einem WordPress-Plugin, das auf über 50.000 WordPress-Websites installiert ist. Diese Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer, eine Anfrage zu erstellen, die bösartiges JavaScript enthält. Wenn es dem Angreifer gelingt, einen Website-Administrator oder Benutzer dazu zu bringen, eine Aktion auszuführen, wird das bösartige JavaScript ausgeführt und ermöglicht es dem Angreifer, neue Admin-Benutzer anzulegen, Opfer umzuleiten oder andere schädliche Angriffe durchzuführen.

Alle Wordfence-Nutzer, einschließlich der Nutzer unserer Kostenlose, Premium, Pflegeund Antwort Produkte sind dank des integrierten Cross-Site Scripting (XSS)-Schutzes der Wordfence Firewall vor Exploits geschützt, die auf diese Schwachstelle abzielen.

Wir haben dem Entwickler am 6. Januar 2022 die vollständigen Details zur Offenlegung geschickt, nachdem der Anbieter den Posteingang für den Umgang mit der Diskussion bestätigt hatte. Der Anbieter hat die Meldung schnell bestätigt und am 10. Januar 2022 eine Korrektur veröffentlicht.

Wir empfehlen dringend, sicherzustellen, dass deine Website auf die neueste gepatchte Version von "Profile Builder - User Profile & User Registration Forms" aktualisiert wurde, die zum Zeitpunkt dieser Veröffentlichung Version 3.6.5 ist.

Profile Builder - User Profile & User Registration Forms ist ein Plugin, das entwickelt wurde, um einer WordPress-Website erweiterte Benutzerprofil- und Registrierungsfunktionen hinzuzufügen. Die Sicherheitslücke im Plugin war einfach.

Das Plugin fügte eine Datei ~/assets/misc/fallback-page.php hinzu, die als Ausweichseite für den Fall verwendet wurde, dass keine Aktivierungsseite für die Benutzeraktivierungs-E-Mail-Funktion ausgewählt war. Leider verwendete diese Datei den vom Benutzer eingegebenen Wert aus der Datei site_url Parameter mit unzureichender Bereinigung/Unterdrückung und Validierung in einem "href"-Attribut, so dass es Angreifern möglich war, das JavaScript-Pseudoprotokoll zu verwenden, javascript:zu verwenden, um bösartige Skripte einzuschleusen.

<?php
define( 'ABSPATH', __DIR__ . '/' );//added this because we actually need to access this page directly, sorry about this :)
/*
//load WP if needed
$path_to_wp_install_dir="";
include_once ( $path_to_wp_install_dir.'wp-load.php' );
*/

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

$site_name = ( isset( $_GET['site_name'] ) ? filter_var ( urldecode( $_GET['site_name'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$site_url = ( isset( $_GET['site_url'] ) ? filter_var ( urldecode( $_GET['site_url'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$message = ( isset( $_GET['message'] ) ? filter_var ( urldecode( $_GET['message'] ), FILTER_SANITIZE_STRING ) : '' ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
?>

<html>
   <head>
      <style type="text/css">
         body {font-family:Arial; padding: 5px; margin-top:100px; text-align: center;}
      </style>

      <title><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></title>
   </head>

   <body id="wppb_content">
      <h1><?php echo htmlspecialchars( $site_name, ENT_QUOTES ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></h1>

      <?php echo '<p>'. htmlspecialchars( strip_tags( $message ) ). '</p>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>

      <?php echo 'Click <a href="'. htmlspecialchars(  $site_url, ENT_QUOTES ) .'">here</a> to return to the main site'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
   </body>
</html></pre>
<pre>

Da der Angreifer auch einen Teil der Daten auf der Seite über die site_name und message Parameter kann ein Angreifer sie so formatieren, dass sie wie eine 404-Seite aussieht, die einen Link enthält, auf den der Nutzer klicken muss, um zur Website zurückzukehren. Wenn ein Nutzer auf den Link von "Click here" klickt, wird das JavaScript ausgeführt.

Cross-Site-Scripting-Schwachstellen können ausgenutzt werden, um verschiedene Aktionen durchzuführen, wie z. B. das Erstellen neuer administrativer Benutzerkonten, das Einschleusen von Hintertüren in Theme- und Plugin-Dateien und das Umleiten von Besuchern auf bösartige Websites, die alle für eine vollständige Übernahme der Website genutzt werden können. Diese Schwachstelle setzt voraus, dass die Nutzer/innen auf einen Link klicken, um erfolgreich zu sein. Sie ist eine Mahnung an Website-Administratoren und Nutzer/innen, bewährte Sicherheitspraktiken zu befolgen und nicht auf Links aus nicht vertrauenswürdigen Quellen zu klicken.

Diese Schwachstelle könnte auch dazu genutzt werden, den Nutzer auf eine bösartige Website umzuleiten, indem einfach eine beliebige Domain in die site_url Parameter einfügt.

Zeitleiste

Januar 4, 2022 - Fazit der Plugin-Analyse, die zur Entdeckung einer Reflected Cross-Site Scripting-Schwachstelle im Plugin "Profile Builder - User Profile & User Registration Forms" führte. Wir überprüfen, ob die Wordfence-Firewall eine ausreichende Abdeckung bietet. Wir nehmen Kontakt mit dem Entwickler auf.
Januar 5, 2022 - Der Entwickler bestätigt den Posteingang für die Bearbeitung der Diskussion.
Januar 6, 2022 - Wir übermitteln die vollständigen Details der Meldung. Der Entwickler bestätigt den Bericht und gibt an, dass er an einer Lösung arbeiten wird.
Januar 10, 2022 - Eine vollständig gepatchte Version des Plugins wird als Version 3.6.2 veröffentlicht.

Fazit

Im heutigen Beitrag haben wir eine Schwachstelle im Plugin "Profile Builder - User Profile & User Registration Forms" beschrieben, die es nicht authentifizierten Angreifern ermöglichte, bösartiges JavaScript in eine verwundbare Website einzuschleusen, das ausgeführt wurde, sobald ein ahnungsloser Nutzer auf einen Link klickte, der die bösartige Nutzlast enthielt. Diese Schwachstelle wurde in Version 3.6.2 vollständig behoben.

Wir empfehlen den Betreibern von WordPress-Websites, sofort zu überprüfen, ob ihre Website auf die neueste gepatchte Version aktualisiert wurde, die zum Zeitpunkt dieser Veröffentlichung Version 3.6.5 ist.

Alle Wordfence-Nutzer, einschließlich der Nutzer unserer Kostenlose, Premium, Pflegeund Antwort Produkte sind dank des integrierten Cross-Site Scripting (XSS)-Schutzes der Wordfence Firewall vor Exploits geschützt, die auf diese Schwachstelle abzielen.

Wenn du glaubst, dass deine Website durch diese oder eine andere Sicherheitslücke kompromittiert wurde, bieten wir Incident Response Services über Wordfence Care. Wenn du deine Seite sofort reinigen lassen willst, Wordfence Antwort bietet denselben Service mit 24/7/365 Verfügbarkeit und einer Reaktionszeit von 1 Stunde. Beide Produkte beinhalten praktischen Support, falls du weitere Hilfe benötigst.

Wenn du einen Freund oder Kollegen kennst, der dieses Plugin auf seiner Website verwendet, empfehlen wir dir dringend, diesen Hinweis an ihn weiterzuleiten, um seine Website zu schützen, da es sich um eine schwerwiegende Sicherheitslücke handelt, die zu einer vollständigen Übernahme der Website führen kann.

Quelle


Dieser Artikel ist im Original von www.wordfence.com und wurde übersetzt
https://www.wordfence.com/blog/2022/02/reflected-cross-site-scripting-vulnerability-patched-in-wordpress-profile-builder-plugin/

Abonniere den RSS-Feed von unseren WP News und verpasse keine Meldung: https://die-mainagentur.de/feed/?post_type=wp-news

Alternativ kannst du unseren WP-Newsletter abonnieren

Mit dem Eintrag in den WP-Newsletter bekommst du per Mail über neue Artikel zugesendet. Du kannst den Newsletter jederzeit abbestellen.
Mehr dazu in der Datenschutzerklärung