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 affected getValidDirectoryPath()
to correct the issue. However, this is not recommended.
References
For more information
If you have any questions or comments about this advisory:
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.References
For more information
If you have any questions or comments about this advisory: