Apache Wicket bis 8.19.0/9.24.0/10.11.0 Cross Site Scripting

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 4.3 | $0-$5k | 3.03+ |
Zusammenfassung
Es wurde eine Schwachstelle in Apache Wicket bis 8.19.0/9.24.0/10.11.0 ausgemacht. Sie wurde als problematisch eingestuft. Das betrifft eine unbekannte Funktionalität. Durch das Beeinflussen mit unbekannten Daten kann eine Cross Site Scripting-Schwachstelle ausgenutzt werden. Diese Sicherheitslücke ist unter CVE-2026-95863 bekannt. Der Angriff kann über das Netzwerk angegangen werden. Es steht kein Exploit zur Verfügung.
Details
Es wurde eine problematische Schwachstelle in Apache Wicket bis 8.19.0/9.24.0/10.11.0 entdeckt. Hiervon betroffen ist ein unbekannter Codeblock. Durch die Manipulation mit einer unbekannten Eingabe kann eine Cross Site Scripting-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-79 vorgenommen. Das hat Auswirkungen auf die Integrität. CVE fasst zusammen:
Improper neutralization of input during web page generation in Apache Wicket.
Apache Wicket generates JavaScript that refers to the elements it renders, and
writes into that JavaScript two values it derives itself: a component's markup
id, and the input name of a form component, which is built from component ids.
Both are placed inside single-quoted JavaScript string literals without being
escaped for that context, so a value containing a single quote or a backslash
ends the literal, and what follows is parsed as script and runs in the
application's origin when the page loads.
A markup id is the value passed to org.apache.wicket.Component#setMarkupId(String),
or the id attribute written in the component's markup, or an id Wicket
generates, in that order. The first two are supplied by the application in an
HTML context, where both characters are legal and where Wicket escapes them
correctly when it writes the same value into the id attribute of the element; a
generated id cannot contain either. An input name is derived from the ids of the
components between the form and the form component, and a component id was
rejected only for ':' and '~'.
In org.apache.wicket:wicket-core on 9.x and 10.x,
org.apache.wicket.markup.head.OnEventHeaderItem#forMarkupId(String, String,
CharSequence) quotes the id it is given into a Wicket.Event.add call, and
components in both wicket-core and wicket-extensions reach it through
#forComponent(Component, String, CharSequence). On every affected version,
org.apache.wicket.markup.html.form.Form writes its markup id and the id of its
hidden-fields container into such literals,
org.apache.wicket.markup.html.form.FormComponentUpdatingBehavior writes an input
name, and org.apache.wicket.markup.html.form.upload.MultiFileUploadField writes
two markup ids and an input name. On 8.x, Form also writes an input name into the
action of a submitting link, and on 8.x and 9.x Form#appendDefaultButtonField
writes an input name into a name attribute with no escaping at all, so a value
containing a double quote escapes the attribute into markup.
org.apache.wicket:wicket-extensions is affected in its own right and not only
through wicket-core: AjaxEditableLabel, AjaxIndicatorAppender,
AjaxDisableComponentListener, UploadProgressBar, KittenCaptchaPanel, Palette,
FilterForm and, on 9.x and 10.x, TrapFocusBehavior and AjaxListPanel each build
their own JavaScript containing a markup id.
An application is affected where a markup id or a component id carries one of
those characters. Wicket does not put one there itself, so the value comes from
the application: an id set on a component, an id attribute in a template, or a
component id derived from data. None of those is a JavaScript context from the
application's point of view.
The Content-Security-Policy that Apache Wicket 9.x and 10.x send by default does
not prevent this. 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.
The fixed versions check an id where it enters instead of escaping each place it
is written. A component id and a markup id may no longer contain a quote, a
backquote, a backslash, braces, angle brackets, a semicolon, an ampersand or a
control character, and a markup id may not contain parentheses or square
brackets either; a component constructed with such an id, or given such a markup
id, fails with an exception.
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.Das Advisory kann von lists.apache.org heruntergeladen werden. Die Verwundbarkeit wird seit dem 22.09.2026 unter CVE-2026-95863 geführt. Sie gilt als leicht ausnutzbar. Der Angriff kann über das Netzwerk erfolgen. Zur Ausnutzung ist keine spezifische Authentisierung erforderlich. Es wird vorausgesetzt, dass das Opfer eine spezifische Handlung vornimmt. Es sind weder technische Details noch ein Exploit zur Schwachstelle bekannt. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 01.11.2026). Das MITRE ATT&CK Projekt deklariert die Angriffstechnik als T1059.007.
Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Produkt
Hersteller
Name
Version
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4
- 8.5
- 8.6
- 8.7
- 8.8
- 8.9
- 8.10
- 8.11
- 8.12
- 8.13
- 8.14
- 8.15
- 8.16
- 8.17
- 8.18
- 8.19.0
- 9.0
- 9.1
- 9.2
- 9.3
- 9.4
- 9.5
- 9.6
- 9.7
- 9.8
- 9.9
- 9.10
- 9.11
- 9.12
- 9.13
- 9.14
- 9.15
- 9.16
- 9.17
- 9.18
- 9.19
- 9.20
- 9.21
- 9.22
- 9.23
- 9.24.0
- 10.0
- 10.1
- 10.2
- 10.3
- 10.4
- 10.5
- 10.6
- 10.7
- 10.8
- 10.9
- 10.10
- 10.11.0
Lizenz
Webseite
- Hersteller: https://www.apache.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 4.3VulDB Meta Temp Score: 4.3
VulDB Base Score: 4.3
VulDB Temp Score: 4.3
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Cross Site ScriptingCWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: 🔍
0-Day Time: 🔒
Timeline
22.09.2026 CVE zugewiesen01.11.2026 Advisory veröffentlicht
01.11.2026 VulDB Eintrag erstellt
01.11.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: apache.orgAdvisory: lists.apache.org
Status: Bestätigt
CNA: apache
CVE: CVE-2026-95863 (🔒)
GCVE (CVE): GCVE-0-2026-95863
GCVE (VulDB): GCVE-100-429696
Eintrag
Erstellt: 01.11.2026 23:38Anpassungen: 01.11.2026 23:38 (63)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.