Path traversal in the OWASP Enterprise Security API
High severity
GitHub Reviewed
Published
Apr 23, 2022
in
ESAPI/esapi-java-legacy
•
Updated Jan 27, 2023
Description
Published by the National Vulnerability Database
Apr 25, 2022
Published to the GitHub Advisory Database
Apr 27, 2022
Reviewed
Apr 27, 2022
Last updated
Jan 27, 2023
Impact
The default implementation of
Validator.getValidDirectoryPath(String, String, File, boolean)
may incorrectly treat the tested input string as a child of the specified parent directory. This potentially could allow control-flow bypass checks to be defeated if an attack can specify the entire string representing the 'input' path.Patches
This vulnerability is patched in release 2.3.0.0 of ESAPI. See https://github.com/ESAPI/esapi-java-legacy/releases/tag/esapi-2.3.0.0 for details.
Workarounds
Yes; in theory, one could write the own implementation of the Validator interface. This would most easily be done by sub-classing a version of the affected
DefaultValidator
class and then overriding the affectedgetValidDirectoryPath()
to correct the issue. However, this is not recommended.For more information
If you have any questions or comments about this advisory:
References