Description
Improper validation of resource URL attributes in Apache Wicket allows an unauthenticated remote attacker to read files from the web application, including files under WEB-INF that the servlet container would not otherwise serve.

The locale, style and variation attributes decoded from a package resource URL are spliced into the resource lookup path without being checked for path separators. The IPackageResourceGuard — whose rejection of .. is one of the two intended controls — is applied to the resource name before those attributes are appended, and WebApplicationPath rejects only paths literally beginning with WEB-INF/. Neither control ever inspects the attacker-controlled portion of the path. On servlet containers that normalize .. in ServletContext.getResource(), a crafted request therefore escapes the intended package directory.

The set of readable files is limited to the file extensions permitted by the configured IPackageResourceGuard. The default SecurePackageResourceGuard permits only js, css, png, jpg, jpeg, gif, ico, cur, map, html, txt, swf, bmp, svg, avif, eot, ttf, woff and woff2, which excludes configuration formats. Applications that have added patterns to the guard, or replaced it with the blocklist-based PackageResourceGuard, can additionally disclose configuration files such as web.xml. Independently of the extension, the lookup performed before the guard runs acts as an existence oracle for arbitrary paths.

This issue affects Apache Wicket 8.18.0 and before, 9.23.0 and before and 10.10.0 and before.

Users are recommended to upgrade to version 8.19.0, 9.24.0 or 10.11.0, which fix the issue. Users of Apache Wicket 7.x or older, which are no longer supported, should upgrade to a supported version.
Published: 2026-08-31
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Apache Wicket incorrectly validates resource URL attributes, allowing an unauthenticated remote attacker to read files from the web application, including those under WEB-INF that are not normally served. The flaw arises because locale, style, and variation parameters decoded from a package resource URL are concatenated into the lookup path without checking for path separators, bypassing the intended guard controls. This permits local file disclosure and, depending on guard configuration, can expose configuration files such as web.xml.

Affected Systems

The vulnerability affects Apache Wicket 8.18.0 and earlier, 9.23.0 and earlier, and 10.10.0 and earlier. Users running Apache Wicket 7.x or older, which are no longer supported, should migrate to a supported version as well.

Risk and Exploitability

An unauthenticated attacker can craft a request with specially encoded locale, style, or variation parameters to trigger traversal outside the intended resource package. The exploit requires no authentication or elevated privileges and can be triggered from any remote client. While no CVSS score is publicly published and the EPSS score is not available, the ability to read sensitive files elevates the risk. The vulnerability is not listed in CISA's KEV catalog.

Generated by OpenCVE AI on August 31, 2026 at 13:24 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Apache Wicket 8.19.0, 9.24.0, or 10.11.0, which contain a fixed guard logic.
  • If an immediate upgrade is not possible, review and tighten any custom IPackageResourceGuard configurations to restrict allowed file extensions and remove extensions that expose configuration files such as web.xml.
  • As a temporary mitigation, disable or sanitize the style, variation, and locale parameters for package resources, or implement a custom guard that rejects any path containing ".." or other path separators before resolution.

Generated by OpenCVE AI on August 31, 2026 at 13:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache wicket
Vendors & Products Apache
Apache wicket

Mon, 31 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
References

Mon, 31 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Description Improper validation of resource URL attributes in Apache Wicket allows an unauthenticated remote attacker to read files from the web application, including files under WEB-INF that the servlet container would not otherwise serve. The locale, style and variation attributes decoded from a package resource URL are spliced into the resource lookup path without being checked for path separators. The IPackageResourceGuard — whose rejection of .. is one of the two intended controls — is applied to the resource name before those attributes are appended, and WebApplicationPath rejects only paths literally beginning with WEB-INF/. Neither control ever inspects the attacker-controlled portion of the path. On servlet containers that normalize .. in ServletContext.getResource(), a crafted request therefore escapes the intended package directory. The set of readable files is limited to the file extensions permitted by the configured IPackageResourceGuard. The default SecurePackageResourceGuard permits only js, css, png, jpg, jpeg, gif, ico, cur, map, html, txt, swf, bmp, svg, avif, eot, ttf, woff and woff2, which excludes configuration formats. Applications that have added patterns to the guard, or replaced it with the blocklist-based PackageResourceGuard, can additionally disclose configuration files such as web.xml. Independently of the extension, the lookup performed before the guard runs acts as an existence oracle for arbitrary paths. This issue affects Apache Wicket 8.18.0 and before, 9.23.0 and before and 10.10.0 and before. Users are recommended to upgrade to version 8.19.0, 9.24.0 or 10.11.0, which fix the issue. Users of Apache Wicket 7.x or older, which are no longer supported, should upgrade to a supported version.
Title Apache Wicket: Path traversal in resource style/variation/locale
Weaknesses CWE-22
References

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-08-31T12:16:25.772Z

Reserved: 2026-08-04T14:15:11.611Z

Link: CVE-2026-70449

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T12:17:56.493

Modified: 2026-08-31T13:18:24.823

Link: CVE-2026-70449

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T13:30:04Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')