Apache Tiles: Unvalidated input may lead to path traversal and XXE
Date: 2023-12
Affected: maven/struts:struts, maven/org.apache.struts:struts-tiles, maven/org.apache.tiles:tiles-core
Attack vector: ssrf
Category: vulnerability-disclosure
Severity: High
CVE: CVE-2023-49735
CWE: CWE-22
CWE-776
CVSS: 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)

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.


Mitigations:

Architectural layers (MAESTRO):