CVE-2026-82840
Last modified
CVE-2026-82840 is a high-severity vulnerability rated 7.2/10 on the CVSS scale. Session fixation in Apache Wicket. org.apache.wicket.authroles.authentication.AuthenticatedWebSession is the authentication base class of Wicket's role-based security module, and its signIn(String, String) method is the entry point through which an application authenticates a session. Renewing the container session id at that point is the standard defence against an attacker who has fixed a session id in a victim's browser, and Wicket provides that renewal as org.apache.wicket.Session#changeSessionId(), whose documentation directs callers to invoke it on login for exactly that reason. AuthenticatedWebSession#signIn(String, String) calls it inside a guard that succeeds only on the first transition of the session's signed-in flag. EPSS estimates a 0.30% chance of exploitation in the next 30 days.
Description
Session fixation in Apache Wicket. org.apache.wicket.authroles.authentication.AuthenticatedWebSession is the authentication base class of Wicket's role-based security module, and its signIn(String, String) method is the entry point through which an application authenticates a session. Renewing the container session id at that point is the standard defence against an attacker who has fixed a session id in a victim's browser, and Wicket provides that renewal as org.apache.wicket.Session#changeSessionId(), whose documentation directs callers to invoke it on login for exactly that reason. AuthenticatedWebSession#signIn(String, String) calls it inside a guard that succeeds only on the first transition of the session's signed-in flag. The session id is therefore renewed when a session first signs in, and is not renewed when a session that is already signed in authenticates again. signIn(String, String) returns true either way, so neither the caller nor the application can tell that the renewal did not happen. An application is affected where it authenticates through AuthenticatedWebSession, which AuthenticatedWebApplication requires and which the shipped UsernamePasswordPanel uses, and where a session that is already signed in can authenticate again: a step-up prompt before a sensitive action, an account switch, or simply a sign-in form that stays reachable once the user is signed in. Nothing in the module hides that form from a signed-in session. Reaching the defect also requires an attacker to place a session id of their choosing in the victim's browser. JSESSIONID is set by the servlet container rather than by Wicket, so that needs a position Wicket does not grant, such as control of a host under the same registrable domain or a container configured to carry the session id in the URL, and the planted session has to be one the attacker has already signed in on, because a session that is not yet signed in does have its id renewed by the victim's authentication. An authentication attempt that fails signs the session out and closes the window. Applications that renew the session id in their own code after a successful authentication are not affected. As a workaround, renew the session id from the application's own code on every successful authentication, by calling Session#changeSessionId() at the end of the authenticate(String, String) implementation. This issue affects Apache Wicket: from 8.18.0 through 8.19.0, from 9.23.0 through 9.24.0, from 10.9.0 through 10.11.0. Users are recommended to upgrade to version 8.20.0, 9.25.0 or 10.12.0, which fix the issue.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Apache Software Foundation | Apache Wicket | >= 8.18.0, <= 8.19.0; >= 9.23.0, <= 9.24.0; >= 10.9.0, <= 10.11.0 |
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2026-82840?
How severe is CVE-2026-82840?
How do I fix CVE-2026-82840?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-82833A vulnerability was identified in Doccano Open Source Annota…6.3
- CVE-2026-82834A security flaw has been discovered in Doccano Open Source A…5.4
- CVE-2026-82835A weakness has been identified in caoqianming django-vue-adm…5.4
- CVE-2026-82837GitLab has remediated an issue in GitLab CE/EE affecting all…4.3
- CVE-2026-82838The default docker image shipped for Venueless did not prope…6.4
- CVE-2026-8284URL redirection to untrusted site ('open redirect') vulnerab…6.1
- CVE-2026-82841The UpdraftPlus: WP Backup & Migration Plugin WordPress plug…5.3
- CVE-2026-82842The SAML Single Sign On WordPress plugin before 6.0.0 does …8.1
- CVE-2026-82843The WP OAuth Server ( Login with WordPress ) WordPress plugi…9
- CVE-2026-82844The WPForms Lite WordPress plugin before 2.0.2.2 does not ve…5.3
- CVE-2026-82845The Masteriyo LMS WordPress plugin before 3.4.1 does not pr…9.9
- CVE-2026-82846The Masteriyo LMS WordPress plugin before 3.4.0 does not sa…6.8
Are you affected by CVE-2026-82840?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
