Ad

CVE-2026-76986

MEDIUM CVSS 3.1: 6,1 EPSS 0.56%
Обновлено 1 сентября 2026
Apache
Параметр Значение
CVSS 6,1 (MEDIUM)
Уязвимые версии 10.0.0 — 9.24.0
Устранено в версии 8.19.0
Тип уязвимости CWE-79 (Межсайтовый скриптинг (XSS))
Поставщик Apache
Публичный эксплойт Нет

Неправильная нейтрализация ввода во время создания веб-страницы в Apache Wicket. org.apache.wicket.markup.html.form.AbstractSingleSelectChoice, базовый класс DropDownChoice, записывает тело параметра по умолчанию — запись, отображаемую, когда выбор не выбран, — в разметку как есть, в то время как тело любого другого параметра в том же выборе экранируется в соответствии с настройкой escape-model-strings. Тело поступает из getNullValidDisplayValue() или getNullKeyDisplayValue(), оба из которых защищены, поэтому то, что они возвращают, не обязательно является простым текстом, который реализация по умолчанию считывает из пакета ресурсов. Приложение подвергается воздействию, когда оно переопределяет один из этих методов и возвращает значение, содержащее данные, на которые может повлиять злоумышленник, или когда его собственная запись nullValid или нулевая запись пакета содержит такое значение.

Пакеты, поставляемые с Wicket, содержат обычный текст. RadioChoice переопределяет getDefaultChoice, чтобы не выдавать параметр по умолчанию, и на него это не влияет. В качестве обходного пути измените значение в переопределении. Эта проблема затрагивает Apache Wicket: с 8.0.0 по 8.18.0, с 9.0.0 по 9.23.0, с 10.0.0 по 10.10.0.

Также затронуты старые, неподдерживаемые версии, начиная с 1.5.0. Пользователям рекомендуется выполнить обновление до версии 8.19.0, 9.24.0 или 10.11.0, которая устранит проблему.

Показать оригинальное описание (EN)

Improper neutralization of input during web page generation in Apache Wicket. org.apache.wicket.markup.html.form.AbstractSingleSelectChoice, the base class of DropDownChoice, writes the body of the default option — the entry shown when no choice is selected — into the markup as it is, while every other option body in the same select is escaped according to the escape-model-strings setting. The body comes from getNullValidDisplayValue() or getNullKeyDisplayValue(), both of which are protected, so what they return is not necessarily the plain text the default implementation reads from a resource bundle. An application is affected where it overrides one of those methods and returns a value holding data an attacker can influence, or where its own nullValid or null bundle entry holds such a value. The bundles shipped with Wicket contain plain text. RadioChoice overrides getDefaultChoice to emit no default option and is not affected. As a workaround, escape the value in the override. This issue affects Apache Wicket: from 8.0.0 through 8.18.0, from 9.0.0 through 9.23.0, from 10.0.0 through 10.10.0. Older, unsupported releases from 1.5.0 onwards are also affected. Users are recommended to upgrade to version 8.19.0, 9.24.0 or 10.11.0, which fix the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Требуется
Нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Низкое
Частичная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1

Уязвимые продукты 3

Конфигурация От (включительно) До (исключительно)
Apache Wicket
cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*
8.0.0 8.19.0
Apache Wicket
cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*
9.0.0 9.24.0
Apache Wicket
cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*
10.0.0 10.11.0