CVE-2026-82559
Apache Wicket: WebSocket messages are processed against an HTTP session snapshot that survives invalidation
Что произошло
Insufficient session expiration in Apache Wicket. org.apache.wicket.protocol.ws.WebSocketSettings#newWebSocketRequest() wraps the WebSocket upgrade request in an org.apache.wicket.protocol.ws.api.ServletRequestCopy, which is kept for the life of the connection and used to build the request for every frame that arrives on it. Copying the request is deliberate and is documented as such, because the container recycles the upgrade request once the handshake is over. The container session is copied along with it, into an org.apache.wicket.protocol.ws.api.HttpSessionCopy holding the session attributes as they stood when the connection was opened. That second copy is not necessary, because a session, unlike a request, is not discarded at the end of a request. Every frame afterwards resolves its Wicket session through ISessionStore#lookup(), which reads it out of the copy, so the connection is detached from the live container session for as long as it stays open. Ending the session through the container therefore does not end the connection. After an idle timeout, an HttpSession#invalidate() call made from a filter or from a security framework, a container-managed logout, or a session replacement, the connection goes on resolving the org.apache.wicket.Session instance that existed when it was opened, together with that session's attributes and, for applications built on wicket-auth-roles, the signed-in state held on that same instance, so an authorization decision taken inside a WebSocket callback is taken against an identity that has already been revoked. The copy is also what the connection writes through: a Session#invalidateNow() issued from inside a WebSocket callback invalidates the copy and leaves the container session valid, and session attributes set over the connection are written to the copy rather than to the session. An application is affected where it uses Wicket's native WebSocket support on pages or shared resources that require an authenticated session, and where sessions are ended by the container rather than by Wicket. Session#invalidateNow(), and AuthenticatedWebSession#invalidate() and #signOut() which call it, remain effective for a WebSocketBehavior on a page: they clear the page manager, and the connection can then no longer resolve the page it was opened for. A WebSocketResource is not limited in that way, because a frame naming a resource is served against a throwaway page and never consults the page manager, so such a connection outlives Wicket's own sign-out as well. Some containers close WebSocket connections themselves when the HTTP session they were opened under is destroyed, in which case the connection ends regardless; that is a property of the container rather than of Wicket. Applications that do not use the native WebSocket support are not affected. This issue affects Apache Wicket: from 8.0.0 through 8.19.0, from 9.0.0 through 9.24.0, from 10.0.0 through 10.11.0. Older, unsupported releases from 6.0.0 onwards are also affected. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
Apache Software Foundation / Apache Wicket
{
"status": "affected",
"version": "8.0.0",
"versionType": "semver",
"lessThanOrEqual": "8.19.0"
}{
"status": "affected",
"version": "9.0.0",
"versionType": "semver",
"lessThanOrEqual": "9.24.0"
}{
"status": "affected",
"version": "10.0.0",
"versionType": "semver",
"lessThanOrEqual": "10.11.0"
}CVSS: оценки и векторы
CVSS 4.0 · cve2.3
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS 4.0 · security@apache.org2.3
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"ghsa",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-04T21:20:21.395547+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-11-01T22:17:05.424841+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-11-01T22:17:05.424841+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-11-01T22:17:05.424841+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-04T21:20:21.395547+00:00"
},
"references": [
"cve",
"ghsa",
"nvd"
],
"description": {
"source": "cve",
"received_at": "2026-11-01T22:17:05.424841+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены05.11.2026, 00:20
- Данные обновлены04.11.2026, 00:15
- Данные обновлены02.11.2026, 03:33
- Данные обновлены02.11.2026, 03:32
- Опубликована02.11.2026, 01:17
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-82557 Apache Wicket: A disabled or invisible form submitting component is still invoked on a plain form submission Apache Software Foundation / Apache Wicket | Средний | 6.9 | 0,3 % | 02.11.2026 | ||
| CVE-2026-82558 Apache Wicket: WebSocketBehavior delivers client messages to a component the client may not invoke Apache Software Foundation / Apache Wicket | Низкий | 2.3 | 0,29 % | 02.11.2026 | ||
| CVE-2026-111089 Apache Wicket: XSS via a resource bundle text written unescaped into generated JavaScript and markup Apache Software Foundation / Apache Wicket | Высокий | 7.6 | 0,33 % | 02.11.2026 | ||
| CVE-2026-82115 Apache Wicket: The configured authorization strategy is not applied to a shared WebSocketResource Apache Software Foundation / Apache Wicket | Средний | 6.3 | 0,34 % | 02.11.2026 | ||
| CVE-2026-82704 Apache Wicket: A listener is invoked on a page instance the request itself created and never configured Apache Software Foundation / Apache Wicket | Средний | 6.9 | 0,25 % | 02.11.2026 |