Wichtige Sicherheitslücken im Uncode Core Plugin gepatcht

Administrator

Einführung

Am 7. Mai 2024 veröffentlichte WP-Firewall, eine führende Sicherheitsberatungsorganisation, einen ausführlichen Bericht über kritische Schwachstellen, die im Uncode Core-Plugin entdeckt wurden. Wenn Sie ein Uncode-Benutzer sind, ist es wichtig, Ihr Core-Plugin auf mindestens Version 2.8.9 zu aktualisieren, um Ihre WordPress-Site vor potenziellen Angriffen zu schützen. In diesem Beitrag werden die Einzelheiten dieser Schwachstellen, ihre Auswirkungen und die Schritte zu ihrer Beseitigung erläutert.

Über das Uncode Core Plugin

Das von Undsgn entwickelte Uncode Core-Plugin ist ein wesentlicher Bestandteil des Uncode-Themas – ein äußerst beliebtes Premium-Thema für WooCommerce-Websites mit über 110.000 Verkäufen auf ThemeForest. Das Uncode-Thema ist für sein pixelgenaues Design bekannt und eignet sich daher ideal für verschiedene Websites, darunter Portfolios, Agenturen, Freiberufler, Blogs und Online-Shops.

Die Sicherheitslücken

Die Sicherheitsforscher von WP-Firewall haben im Uncode Core-Plugin zwei erhebliche Schwachstellen identifiziert:

1. Authentifiziertes Löschen beliebiger Dateien und Verzeichnisse

Beschreibung: Diese Sicherheitslücke ermöglicht es jedem authentifizierten Benutzer mit mindestens der Rolle „Abonnent“, beliebige Verzeichnisse auf dem Server zu löschen. Das Problem liegt in der Funktion „delete_download“, der die entsprechenden Berechtigungen und Nonce-Prüfungen fehlen. Diese Funktion ist an die Aktion „wp_ajax_uncodefont_delete_download“ angehängt, sodass authentifizierte Benutzer sie ausnutzen können.

Technische Details:

Funktion delete_download() {
wenn (isset($_REQUEST['Schriftfamilie'])) {
$font_family = $_REQUEST['Schriftfamilie'];
$font_dir = abschließender Schrägstrich($this->font_directory).$font_family;
$fontkit_zip = $font_dir.'.zip';

wenn (@file_exists($fontkit_zip)) {
wenn (!@unlink($fontkit_zip)) {
echo json_encode(Array(
'error' => sprintf( esc_html__( 'Löschen von @fontface kit zip %1$s fehlgeschlagen.', 'uncode-core' ), $fontkit_zip )
));
sterben();
}
}

// Das Verzeichnis kann nicht gelöscht werden, da unzip_file, das es erstellt hat, WP_Filesystem verwendet. Daher verwenden wir WP_Filesystem, um es zu löschen.
$this->setup_wp_filesystem();

globales $wp_Dateisystem;
wenn (isset($wp_filesystem)) {
$delete_dir = $wp_filesystem->delete($font_dir, true);
if (!$delete_dir) {
echo json_encode(array('Fehler' => $delete_dir['Fehler']));
sterben();
}
}

echo json_encode(array('success' => "Download gelöscht"));
}
sterben();
}
includes/font-system/font-system.php, Funktion delete_download()

Die Funktion erstellt die Variable „$font_dir“ aus der Benutzereingabe („$_REQUEST['font_family']‘) ohne Bereinigung und ermöglicht so das Durchlaufen des Verzeichnisses und beliebiges Löschen.

2. Authentifizierte Rechteausweitung

Beschreibung: Diese Sicherheitslücke ermöglicht es jedem authentifizierten Benutzer mit mindestens der Rolle „Abonnent“, seine Berechtigungen auf jede beliebige Rolle auf der WordPress-Site zu erhöhen. Dies liegt an einem unsicheren WP Option-Update in der Funktion „save_option“, bei dem die ordnungsgemäßen Berechtigungsprüfungen fehlen.

Technische Details:

öffentliche Funktion Speicheroption() {
wenn (isset( $_POST['nonce'] ) und wp_verify_nonce( $_POST['nonce'], 'uncode-core-settings-nonce' ) ) {
wenn (isset( $_POST['Wert'] ) && $_POST['Wert'] && isset( $_POST['Options-ID'] ) && $_POST['Options-ID'] ) {
$autoload = isset( $_POST['autoload'] ) und $_POST['autoload'] === 'true' ? wahr : falsch;
Aktualisierungsoption ($_POST['Options-ID'], $_POST['Wert'], $autoload);
---------- HIER SCHNEIDEN ----------
enthält/core-settings/class-core-settings.php, Funktion save_option()

Der in dieser Funktion verwendete Nonce kann von jedem authentifizierten Benutzer mit Zugriff auf den WP-Admin-Bereich abgerufen werden, was unbefugte Aktualisierungen von Optionen und eine Rechteausweitung ermöglicht.

Der Patch

Um diese Schwachstellen zu beheben, haben die Entwickler des Uncode Core-Plugins die Version 2.8.9 veröffentlicht, die die folgenden Korrekturen enthält:

Authentifiziertes Löschen beliebiger Dateien und Verzeichnisse: Berechtigungs- und Nonce-Prüfungen in der Funktion „delete_download“ implementiert.

Authentifizierte Rechteausweitung: Berechtigungs- und Nonce-Prüfungen in der Funktion „save_option“ angewendet und eine Whitelist-Prüfung für Optionsschlüssel hinzugefügt.

Abschluss

Um die Sicherheit Ihrer WordPress-Site zu gewährleisten, müssen Sie stets die neuesten Patches und Sicherheitshinweise verwenden. Die Schwachstellen im Uncode Core-Plugin unterstreichen die Bedeutung der Implementierung geeigneter Berechtigungs- und Nonce-Prüfungen für alle sensiblen Aktionen. Bereinigen Sie Benutzereingaben immer und begrenzen Sie den Umfang dessen, was durch Benutzeraktionen aktualisiert oder gelöscht werden kann.

Ausführlichere Informationen finden Sie in der vollständigen Sicherheitsempfehlung auf der Website von WP-Firewall. Hier.

Bleiben Sie sicher

WP-Firewall bietet verschiedene Lösungen für die WordPress-Sicherheit, darunter Plugin-Auditing, Schwachstellenüberwachung und -reaktion sowie verwaltete WordPress-Sicherheitsdienste. Wenn Sie Plugin-Entwickler oder Sicherheitsforscher sind, sollten Sie WP-Firewall beitreten.


wordpress security update banner

Erhalten Sie WP Security Weekly kostenlos 👋
Jetzt anmelden
!!

Melden Sie sich an, um jede Woche WordPress-Sicherheitsupdates in Ihrem Posteingang zu erhalten.

Wir spammen nicht! Lesen Sie unsere Datenschutzrichtlinie für weitere Informationen.