Неправильная нейтрализация ввода во время создания веб-страницы в Apache Wicket.
org.apache.wicket.markup.head.MetaDataHeaderItem генерирует теги заголовков <meta> и <link>. Он экранировал написанные им имена атрибутов, но обрабатывал значения атрибутов, заменяя " на \". Обратная косая черта перед двойной кавычкой ничего не значит в HTML, поэтому значение, содержащее двойную кавычку, завершает свой собственный атрибут, а последующее анализируется как дополнительные атрибуты сгенерированного тега.
Приложение подвергается воздействию, когда оно предоставляет значение атрибута, содержащее данные, на которые злоумышленник может повлиять, через addTagAttribute или фабричные методы forMetaTag и forLinkTag. Значение может быть задано как IModel, поэтому оно не обязательно является литералом. Нет никаких настроек, которые можно было бы изменить; приложение может только избежать предоставления значения, содержащего двойную кавычку.
Обратите внимание, что эти значения никогда не экранировались эффективно: до изменений, выпущенных в версиях 6.24.0, 7.4.0 и 8.0.0, они были записаны вообще без экранирования. Эта проблема затрагивает Apache Wicket: с 8.0.0 по 8.18.0, с 9.0.0 по 9.23.0, с 10.0.0 по 10.10.0. Также затронуты более старые, неподдерживаемые версии, начиная с 6.17.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.head.MetaDataHeaderItem generates <meta> and <link> header tags. It escaped the attribute names it wrote, but ran the attribute values through a replacement of " with \". A backslash before a double quote means nothing in HTML, so a value containing a double quote ends its own attribute and what follows is parsed as further attributes of the generated tag. An application is affected where it supplies an attribute value holding data an attacker can influence, through addTagAttribute or the forMetaTag and forLinkTag factory methods. A value may be given as an IModel, so it is not necessarily a literal. There is no setting to change; an application can only avoid supplying a value that contains a double quote. Note that these values have never been escaped effectively: before the change released in 6.24.0, 7.4.0 and 8.0.0 they were written with no escaping at all. 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 6.17.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 v4.0
Тип уязвимости (CWE)
Уязвимые продукты 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
|