Apache Tiles: Unvalidated input may lead to path traversal and XXE
High severity GitHub Reviewed PublishedDec 1, 2023 to the GitHub Advisory Database • UpdatedNov 4, 2025
Description
The value set as the DefaultLocaleResolver.LOCALE_KEY attribute on the session was not validated while resolving XML definition files, leading to possible path traversal and eventually SSRF/XXE when passing user-controlled data to this key. Passing user-controlled data to this key may be relatively common, as it was also used like that to set the language in the 'tiles-test' application shipped with Tiles.
This issue affects Apache Tiles from version 2 onwards.
NOTE: This vulnerability only affects products that are no longer supported by the maintainer.
References
Published by theNational Vulnerability DatabaseNov 30, 2023
Published to the GitHub Advisory DatabaseDec 1, 2023
ReviewedDec 11, 2023
Last updatedNov 4, 2025
Severity
High / 10
CVSS v3 base metrics
Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS score
(74th percentile)
Weaknesses
WeaknessCWE-22
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.Learn more on MITRE.WeaknessCWE-776
Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
The product uses XML documents and allows their structure to be defined with a Document Type Definition (DTD), but it does not properly control the number of recursive definitions of entities.Learn more on MITRE.CVE ID
CVE-2023-49735
GHSA ID
GHSA-qw4h-3xjj-84cc
Source code
Credits
ryanmurfAnalyst
LoadingChecking history
Uh oh!
There was an error while loading.Please reload this page.
See something to contribute?Suggest improvements for this vulnerability.