CVE-2026-84172 in WicketИнформация

Сводка

по VulDB • 01.11.2026

Файлы доступны внешним сторонам в Apache Wicket.

Класс org.apache.wicket.markup.html.PackageResourceGuard определяет, может ли файл из classpath быть передан клиенту как пакетный ресурс (package resource). HTML-файлы включены по умолчанию в список разрешенных, поэтому единственным фактором, отличающим статический HTML-файл, который может быть отдан пользователю, от шаблона разметки компонента, доступ к которому запрещен, является проверка наличия файла класса с тем же именем рядом. Эта проверка вызывает метод getResource() у загрузчика классов (class loader), который загрузил wicket-core. Сам ресурс достигается через различные загрузчики классов: класс области видимости разрешается с помощью IClassResolver приложения, который использует class loader контекста потока (thread context class loader), а затем org.apache.wicket.core.util.resource.ClassPathResourceFinder#find() пытается использовать собственный загрузчик класса области видимости, загрузчик контекста и в последнюю очередь — загрузчик wicket-core.

В тех случаях, когда wicket-core загружается загрузчиком классов, который не имеет доступа к классам приложения, проверка не находит файл класса, делает вывод о том, что файл не является шаблоном разметки компонента, и отдает его. Запрос URL-адреса пакетного ресурса для класса компонента возвращает шаблон разметки этого компонента со статусом 200. Раскрывается содержимое шаблонов, созданных разработчиками: структура компонентов, комментарии разработчиков, разметка, которая рендерится только при определенных условиях, встроенные скрипты и эндпоинты, указанные в шаблоне. Доступ является только для чтения (read-only), и никакие пользовательские данные, учетные записи или материалы сессий не могут быть получены таким образом.

Подобная конфигурация развертывания встречается редко. Обычная упаковка — веб-архив с wicket-core в WEB-INF/lib — помещает фреймворк и приложение в один загрузчик классов, поэтому проверка находит файл класса, а шаблон отклоняется; такие развертывания не затронуты уязвимостью. Экспозиция ограничена конфигурациями, где wicket-core получает загрузчик классов, который не видит классы компонентов приложения: например, когда wicket-core размещен в общей библиотеке каталога сервлет-контейнера, в каталоге библиотек enterprise-архива при наличии приложения в веб-архиве, как глобальный модуль сервера приложений или как OSGi-пакет (bundle), где пакет wicket-core не может разрешить класс, удерживаемый пакетом приложения. Разметка, поставляемая собственными модулями Wicket и любым другим кодом, разделяющим загрузчик классов с wicket-core, остается защищенной. Атакующему необходимо указать имя класса компонента, причем Wicket записывает полностью определенные имена классов (fully qualified class names) в URL каждого пакетного ресурса, который он рендерит.

Эта проблема затрагивает Apache Wicket: версии от 8.0.0 до 8.19.0 включительно, от 9.0.0 до 9.24.0 включительно и от 10.0.0 до 10.11.0 включительно. Пользователи Apache Wicket версий 7.x или более старых (которые больше не поддерживаются) должны обновиться до поддерживаемой версии. Рекомендуется обновление до версий 8.20.0, 9.25.0 или 10.12.0, которые устраняют данную проблему.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Apache

Резервировать

01.09.2026

Раскрытие

02.11.2026

Модерация

принято

Вход

VDB-429691

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Might our Artificial Intelligence support you?

Check our Alexa App!