Follow @Openwall on Twitter for new release announcements and other news
[<prev] [day] [month] [year] [list]
Message-ID: <CAGXsc+a+Ji_5p91Odt2a18EPdzAXQe+q=NcAoJC-tPeF3P2Msg@mail.gmail.com>
Date: Sun, 1 Nov 2026 22:48:04 +0100
From: Emond Papegaaij <papegaaij@...che.org>
To: oss-security@...ts.openwall.com
Subject: Apache Wicket: 19 CVEs fixed in 8.20.0, 9.25.0 and 10.12.0

On 1 November the Apache Wicket PMC published 19 security advisories. All of
the issues are fixed in Apache Wicket 8.20.0, 9.25.0 and 10.12.0, for the
release lines each one affects, and we recommend upgrading. 8.20.0 and
9.25.0 are the final releases of the 8.x and 9.x lines, which have now
reached end of life, so if you are on 8.x or 9.x, please plan your move to
Wicket 10 (LTS) or Wicket 11. Releases older than 8.x are no longer
supported and do not get these fixes.

Apache Wicket: Native WebSocket: authorization strategy not applied to a
shared WebSocketResource
CVE-2026-82115 (MEDIUM):
https://lists.apache.org/thread/0lj9og7vp22ps77nrwdj42f64cfb9g4c
WebSocketMessageBroadcastHandler called WebSocketResource#onPayload()
directly instead of going through ResourceRequestHandler, so
IAuthorizationStrategy#isResourceAuthorized() and @AuthorizeResource were
never consulted and any client with a session could drive the resource's
callbacks.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Form: disabled or invisible submitting component invoked on a
plain submission
CVE-2026-82557 (MEDIUM):
https://lists.apache.org/thread/lz4jot6f9ycxfjyhmlr2b4ssynmgpy92
Form#onRequest() handed the submitter it resolved from the request straight
to onFormSubmitted(), skipping the visible-and-enabled check, so a request
naming a withheld Button or SubmitLink reached its onSubmit(), including one
denied by the authorization strategy.
Fixed in: 10.12.0
Affected: from 10.3.0 before 10.12.0

Apache Wicket: Native WebSocket: messages delivered to a component the
client may not invoke
CVE-2026-82558 (LOW):
https://lists.apache.org/thread/o1ojfn53742ztd13m93336t3kdjw2tq9
WebSocketBehavior called onMessage() without the canCallListener() check
that Ajax behaviors get, so client messages reached behaviors on components
that were hidden, disabled or denied by the authorization strategy.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Native WebSocket: session state survives invalidation
CVE-2026-82559 (LOW):
https://lists.apache.org/thread/5vkw9wz6gf135ccosj928zjs4hqy7bcv
Each connection resolved its Wicket session from a copy of the HTTP session
taken at the handshake, so after a container logout, an idle timeout or
HttpSession#invalidate() the connection went on acting with the revoked
identity.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Authorization bypass through a listener URL without a page id
CVE-2026-82704 (MEDIUM):
https://lists.apache.org/thread/yrtov7vfmj7c7wl7j1tt0dsv2t0zwy9b
A bookmarkable listener URL with an empty page identifier constructed a new
page and invoked the listener before Component#configure() had run, so a
component denied RENDER by the authorization strategy, or hidden or disabled
in onConfigure(), was still invoked.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Authorization strategy not applied to an IResource held by a
component
CVE-2026-82705 (MEDIUM):
https://lists.apache.org/thread/t9y3sho3wkqkr1vsf74xn8tzmgdr1tgo
ResourceLink, Image, ImageButton and AjaxDownloadBehavior served an
IResource instance from their own listener rather than through
ResourceRequestHandler, so isResourceAuthorized() and @AuthorizeResource
were skipped; ExportToolbar builds its export links this way.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Auth-Roles: session fixation on re-authentication
CVE-2026-82840 (HIGH):
https://lists.apache.org/thread/q812kjb74x2pt6956w0pcmkc4wwj95l9
AuthenticatedWebSession#signIn() renewed the session id only on the first
transition to signed in, so a session that was already signed in and
authenticated again kept the id an attacker may have planted.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.18.0 before 8.20.0, from 9.23.0 before 9.25.0, from 10.9.0
before 10.12.0

Apache Wicket: Resource isolation bypass through the login redirect
CVE-2026-82898 (LOW):
https://lists.apache.org/thread/bm4mlwsgftxfg345zvdqj0skg1mktpyp
ResourceIsolationRequestCycleListener instantiated the target page before
consulting its policies, so a RestartResponseAtInterceptPageException from
the authorization strategy skipped them, and the cross-origin URL it stored
was replayed same-origin once the user signed in.
Fixed in: 9.25.0, 10.12.0
Affected: from 9.1.0 before 9.25.0, from 10.0.0 before 10.12.0

Apache Wicket: AjaxNewWindowNotifyingBehavior: stored cross-site scripting
through the window name
CVE-2026-82956 (HIGH):
https://lists.apache.org/thread/fs3vdddt9bwshdstj952psj49s5w4vqm
The window name reported by the browser was kept in the page state and
substituted unescaped into a JavaScript string literal on every later
render, so a name containing a quote ran as script.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: SmartLinkLabel: cross-site scripting through a
script-executing URL scheme
CVE-2026-83539 (HIGH):
https://lists.apache.org/thread/xqdymd8g178sc112lmqbp53zlss53cwz
DefaultLinkParser turned any scheme://... text in the model into a link
without a list of permitted schemes, so data naming a scheme that executes
script became a link that runs it when clicked; the default CSP of 9.x and
10.x blocks it, 8.x has none.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: JavaScriptUtils: escapeQuotes() does not escape the backslash
CVE-2026-83559 (HIGH):
https://lists.apache.org/thread/77kc85ztkxdpp7wg7cv61c4539j9s1g3
escapeQuotes() escaped quotes but not the backslash, so a value with a
backslash before a quote closed its string literal; this affects application
code that calls the method and the error message of AjaxEditableLabel.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: FileUploadToResourceField: client-asserted upload result and
unbounded allocation
CVE-2026-83594 (HIGH):
https://lists.apache.org/thread/h5lxspxg746pzjd437n3n7mq5t3sfbcb
The upload callback built its UploadInfo list from client-supplied JSON
without binding it to an upload that happened, and UploadInfo#get()
allocated a byte array of the claimed size, so one small request could cost
close to two gigabytes of heap.
Fixed in: 9.25.0, 10.12.0
Affected: from 9.14.0 before 9.25.0, from 10.0.0 before 10.12.0

Apache Wicket: File upload resource: configured upload limits not enforced
CVE-2026-84170 (HIGH):
https://lists.apache.org/thread/bw3hn5cch3q7yrsl05m8mvmgyx4m98y7
AbstractFileUploadResource took maxSize, fileMaxSize and fileCountMax from
the request parameters, so an unauthenticated client could override the
limits configured on FileUploadToResourceField and fill disk or heap.
Fixed in: 9.25.0, 10.12.0
Affected: from 9.14.0 before 9.25.0, from 10.0.0 through 10.9.1

Apache Wicket: PackageResourceGuard: markup disclosure with a separate class
loader
CVE-2026-84172 (MEDIUM):
https://lists.apache.org/thread/90mlx42q7nkdccdby1ql1ksl4sxy13x6
The guard looked for the component class beside an HTML file through
wicket-core's own class loader, so where wicket-core cannot see the
application's classes (a shared library directory, an EAR library, OSGi)
component markup templates were served as package resources.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: PackageResource: markup disclosure for class names containing
an underscore
CVE-2026-84177 (MEDIUM):
https://lists.apache.org/thread/hy089v60t5v36skpnbry96vr2427lw0o
The guard checked the path before the style, variation and locale from the
URL were appended to it, so a shorter name completed by a style resolved to
the markup template of a component such as Report_v2, which was then served.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: ExternalLink: cross-site scripting through the model URL
CVE-2026-84231 (HIGH):
https://lists.apache.org/thread/39kz9838w25797bpkxn1hvfsm8jtc4zv
Bound to a tag other than a, link or area, ExternalLink wrote the model URL
into a JavaScript string in the onclick handler with only markup escaping,
which the browser undoes, so a quote in the URL closed the literal.
Fixed in: 8.20.0
Affected: from 8.0.0 before 8.20.0

Apache Wicket: CSP headers omitted behind nested request handler delegates
CVE-2026-87718 (LOW):
https://lists.apache.org/thread/fjq8v35zpkbtjwpzwkkpzocwtdgokp1m
Only one IRequestHandlerDelegate level was unwrapped when deciding whether a
request renders a page, so a page behind two or more delegates, such as a
custom mapper combined with CryptoMapper, was served without its
Content-Security-Policy.
Fixed in: 9.25.0, 10.12.0
Affected: 9.24.0, from 10.10.0 before 10.12.0

Apache Wicket: Cross-site scripting through component and markup ids
CVE-2026-95863 (HIGH):
https://lists.apache.org/thread/5wg754b873tlnsc268myrwcoy9lt046v
Markup ids and form input names were written into generated JavaScript
string literals without escaping, in wicket-core and several
wicket-extensions components, so an application-supplied id containing a
quote or backslash ran as script past the default CSP; the fixed versions
reject such ids.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Apache Wicket: Cross-site scripting through resource bundle texts
CVE-2026-111089 (HIGH):
https://lists.apache.org/thread/xyp4sm5mm7s618fktstb22577qxbmqw8
Texts and css classes read from resource bundles were written into
JavaScript string literals and attribute values without escaping by
MultiFileUploadField, Form, UploadProgressBar, FilterForm and
TrapFocusBehavior, so a text containing a quote broke out of its context.
Fixed in: 8.20.0, 9.25.0, 10.12.0
Affected: from 8.0.0 before 8.20.0, from 9.0.0 before 9.25.0, from 10.0.0
before 10.12.0

Thanks,
Emond Papegaaij
on behalf of the Apache Wicket PMC

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.