Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-111089— Apache Wicket: XSS via a resource bundle text written unescaped into generated JavaScript and markup

Quick assessment

Affected
Apache Software Foundation Apache Wicket
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Apache Wicket 会从应用程序的资源包(resource bundles)中读取文本内容,例如本地化标签或 CSS 类名,并将其中部分内容写入其生成的组件 JavaScript 代码和标记(markup)中。这些文本被直接放置在单引号包裹的 JavaScript 字符串字面量内,以及带引号的属性值中,却未针对相应上下文进行转义。因此,若文本中包含引号字符,便会提前结束字符串字面量或属性值,导致后续内容在页面加载时被解析为脚本或标记,从而在应用程序的源上下文中执行。 资源包中的条目由应用程序开发者编写,并未

CVSS 7.6 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-111089

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Apache Wicket: XSS via a resource bundle text written unescaped into generated JavaScript and markup
Source: CVE Program / CVE List V5
Vulnerability Description
Apache Wicket reads texts from the application's resource bundles — a localized label, a css class name — and writes some of them into the JavaScript and the markup it generates for a component. Those texts are placed inside single-quoted JavaScript string literals and inside quoted attribute values without being escaped for that context, so a text containing a quote ends the literal or the attribute, and what follows is parsed as script or as markup in the application's origin when the page loads. A resource bundle entry is authored for the application and does not say where the framework will write it. The same key is read by the framework into element text, where Wicket escapes it, and into the contexts below, where it did not. A text containing an apostrophe, which is ordinary in several languages, is enough to break the page; a text under the influence of another party is enough to run script. In org.apache.wicket:wicket-core, org.apache.wicket.markup.html.form.upload.MultiFileUploadField writes the org.apache.wicket.mfu.delete message into a JavaScript string literal, and org.apache.wicket.markup.html.form.Form writes the hidden-fields css class into the class attribute of the container it renders for its hidden fields; on 8.0.0 through 8.19.0 and 9.0.0 through 9.24.0 Form#appendDefaultButtonField writes the same css class into a second container. In org.apache.wicket:wicket-extensions, UploadProgressBar writes its UploadProgressBar.starting text into a JavaScript string literal, FilterForm writes the hidden-fields css class into the class attribute of its hidden input markup, and on 9.0.0 through 9.24.0 and 10.0.0 through 10.11.0 TrapFocusBehavior writes its current css class into a JavaScript string literal. The Content-Security-Policy that Apache Wicket 9.x and 10.x send by default does not prevent the JavaScript cases: the generated script is written into a script element carrying the per-response nonce, so the injected code is part of a script the policy admits. It does prevent an inline event handler injected through the attribute cases. 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. Users of Apache Wicket 7.x or older, which are no longer supported, should upgrade to a supported version. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
在Web页面生成时对输入的转义处理不恰当(跨站脚本)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Apache Software Foundation Apache Wicket 8.0.0 ~ 8.19.0 -

II. Public POCs for CVE-2026-111089

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-111089

请登录查看更多情报信息。

Other References for CVE-2026-111089 (1)

Same Patch Batch · Apache Software Foundation · 2026-11-01 · 19 CVEs total

CVE-2026-84170 8.3 HIGH Apache Wicket: Configured upload limits are not enforced by the standalone file upload res
CVE-2026-83594 8.3 HIGH Apache Wicket: FileUploadToResourceField accepts a client-asserted upload result and alloc
CVE-2026-95863 7.6 HIGH Apache Wicket: XSS via a component id or markup id written unescaped into generated JavaSc
CVE-2026-82956 7.6 HIGH Apache Wicket: XSS in AjaxNewWindowNotifyingBehavior via the client-supplied window name
CVE-2026-84231 7.4 HIGH Apache Wicket: XSS in ExternalLink via the model URL when the component is bound to a non-
CVE-2026-83559 7.4 HIGH Apache Wicket: JavaScriptUtils#escapeQuotes does not escape the backslash, so its output c
CVE-2026-83539 7.4 HIGH Apache Wicket: XSS in SmartLinkLabel and SmartLinkMultiLineLabel via a javascript: URL in
CVE-2026-82840 7.2 HIGH Apache Wicket: The session id is renewed only on the first sign in, not on re-authenticati
CVE-2026-82557 6.9 MEDIUM Apache Wicket: A disabled or invisible form submitting component is still invoked on a pla
CVE-2026-82704 6.9 MEDIUM Apache Wicket: A listener is invoked on a page instance the request itself created and nev
CVE-2026-82115 6.3 MEDIUM Apache Wicket: The configured authorization strategy is not applied to a shared WebSocketR
CVE-2026-82705 6.3 MEDIUM Apache Wicket: The configured authorization strategy is not applied to an IResource embedd
CVE-2026-84172 6.3 MEDIUM Apache Wicket: Component markup is served as a package resource when wicket-core has its o
CVE-2026-84177 6.3 MEDIUM Apache Wicket: A component's markup is served as a package resource when its class name co
CVE-2026-82559 2.3 LOW Apache Wicket: WebSocket messages are processed against an HTTP session snapshot that surv
CVE-2026-82558 2.3 LOW Apache Wicket: WebSocketBehavior delivers client messages to a component the client may no
CVE-2026-87718 2.3 LOW Apache Wicket: CSP headers silently omitted for pages served through nested request handle
CVE-2026-82898 2.1 LOW Apache Wicket: A cross-origin listener invocation stopped by a login wall is replayed afte

IV. Related Vulnerabilities