Incorrect Behavior Order Affecting org.apache.wicket:wicket-core package, versions [9.1.0-M1,9.25.0)[10.0.0-M1,10.12.0)


Severity

Recommended
0.0
low
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.32% (26th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JAVA-ORGAPACHEWICKET-22150195
  • published3 Nov 2026
  • disclosed1 Nov 2026
  • creditEmond Papegaaij

Introduced: 1 Nov 2026

NewCVE-2026-82898  (opens in a new tab)
CWE-696  (opens in a new tab)

How to fix?

Upgrade org.apache.wicket:wicket-core to version 9.25.0, 10.12.0 or higher.

Overview

org.apache.wicket:wicket-core is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a first-class component model backed by POJO data beans that can easily be persisted using your favorite technology.

Affected versions of this package are vulnerable to Incorrect Behavior Order via the ResourceIsolationRequestCycleListener in the HTTP protocol component. When an unauthenticated request from another origin targets a protected page, page instantiation can trigger authorization to interrupt the request before the isolation policy checks it; after the victim signs in, continueToOriginalDestination() redirects to the remembered URL, which the listener treats as same-origin. An attacker can therefore make an ordinary Form run onSubmit() with values they chose in the URL’s query string, provided the application registers the listener and resumes intercepted destinations after sign-in.

Notes

  • At the resumed-request policy check, if the original cross-origin request carried no origin headers, the default unknownOutcomeAction is ABORT; the attack proceeds in that case only if the application relaxes it with setUnknownOutcomeAction().

Workarounds

  • When refusing unauthorized access, throw org.apache.wicket.RestartResponseException instead of org.apache.wicket.RestartResponseAtInterceptPageException; this avoids storing and resuming the requested destination after sign-in, preventing a cross-origin-chosen listener or form submission from running on resume. Visitors will not be returned to the page they originally requested.

CVSS Base Scores

version 4.0
version 3.1