
CVE-2025-12163: Stored Cross-Site Scripting in Omnipress WordPress Plugin
Уязвимость Stored XSS в плагине Omnipress для WordPress (CVE-2025-XXXXX) — межсайтовый скриптинг с сохранением в плагине Gutenberg-блоков Omnipress, позволяющий аутентифицированным злоумышленникам с правами уровня Автора внедрять вредоносные скрипты.
В плагине Omnipress для WordPress обнаружена уязвимость межсайтового скриптинга с сохранением, которая позволяет аутентифицированным злоумышленникам с доступом уровня Автора и выше внедрять произвольные веб-скрипты на страницы, которые выполняются при каждом обращении пользователя к заражённой странице.
Обнаружил: Кай Айзен
Опубликовано: Декабрь 2025 года
Оценка CVSS: 6.4 (Средняя)
CWE: CWE-79 — Неправильная нейтрализация ввода при генерации веб-страницы ('Межсайтовый скриптинг')
Плагин: Omnipress – WordPress Gutenberg Blocks Plugin
Тип атаки: Межсайтовый скриптинг с сохранением (аутентифицированный, Автор+)
Необходимые привилегии: Доступ уровня Автора или выше
Плагин Omnipress для WordPress подвержен уязвимости межсайтового скриптинга с сохранением во всех версиях до 1.6.3 включительно из-за недостаточной санитизации ввода и экранирования вывода. Это позволяет аутентифицированным злоумышленникам с доступом уровня Автора и выше внедрять произвольные веб-скрипты на страницы, которые будут выполняться при каждом обращении пользователя к заражённой странице.
Эта уязвимость позволяет аутентифицированным злоумышленникам:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Уязвимость существует из-за неправильной обработки пользовательского ввода в компонентах редактора блоков Omnipress:
Уязвимость может быть использована следующим образом:
Доказательство концепции, демонстрирующее эту уязвимость, существует, но не публикуется, чтобы дать время на установку исправлений и обновление пользователями.
Необходимые немедленные действия:
Убедитесь, что весь пользовательский ввод в блоках Gutenberg реализует надлежащие меры безопасности:
// Example of proper output escaping in block render
function render_block_content( $attributes ) {
// Escape all user-supplied attributes
$safe_content = esc_html( $attributes['content'] );
$safe_url = esc_url( $attributes['url'] );
$safe_attr = esc_attr( $attributes['customAttr'] );
// Use wp_kses for HTML content with allowed tags
$allowed_html = array(
'a' => array( 'href' => array(), 'title' => array() ),
'strong' => array(),
'em' => array(),
);
$safe_html = wp_kses( $attributes['htmlContent'], $allowed_html );
return sprintf(
'<div class="%s"><a href="%s">%s</a></div>',
$safe_attr,
$safe_url,
$safe_content
);
}
Исследователи:
Процесс раскрытия: Координировано через программу вознаграждений за ошибки Wordfence
Эта информация предоставлена исключительно для целей исследования безопасности и защиты. Любая эксплуатация данной уязвимости в злонамеренных целях незаконна и неэтична. Всегда получайте надлежащее разрешение перед тестированием систем, которые вам не принадлежат.
По вопросам или для получения дополнительной информации об этой уязвимости:
Последнее обновление: Декабрь 2025 года
Полное описание, методология и связанные исследования этого проекта находятся по адресу:
https://snailsploit.com/security-research/cves/cve-2025-12163/
Создано Каем Айзеном — независимым исследователем безопасности в области наступательных действий.
snailsploit.com · Research · Frameworks · GitHub · LinkedIn · ResearchGate · X/Twitter
Та же атака. Другая подложка.
| Метрика | Значение |
|---|
| Вектор атаки | Сеть (AV:N) |
| Сложность атаки | Низкая (AC:L) |
| Необходимые привилегии | Низкие (PR:L) |
| Взаимодействие с пользователем | Отсутствует (UI:N) |
| Область воздействия | Изменена (S:C) |
| Конфиденциальность | Низкая (C:L) |
| Целостность | Низкая (I:L) |
| Доступность | Отсутствует (A:N) |