GHSA-8m5h-hrqm-pxm2

Suggest an improvement
Source
https://github.com/advisories/GHSA-8m5h-hrqm-pxm2
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-8m5h-hrqm-pxm2/GHSA-8m5h-hrqm-pxm2.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-8m5h-hrqm-pxm2
Aliases
Published
2022-04-27T21:09:43Z
Modified
2024-02-20T05:24:17.588669Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
Path traversal in the OWASP Enterprise Security API
Details

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.

For more information

If you have any questions or comments about this advisory: * Email one of the project co-leaders. See email addresses listed on the OWASP ESAPI wiki page, under "Leaders". * Send email to one of the two ESAPI related Google Groups listed under Where to Find More Information on ESAPI on our README.md page.

References

Affected packages

Maven / org.owasp.esapi:esapi

Package

Name
org.owasp.esapi:esapi
View open source insights on deps.dev
Purl
pkg:maven/org.owasp.esapi/esapi

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
2.3.0.0

Affected versions

2.*

2.0GA
2.0_rc9
2.0_rc10
2.0_rc11
2.0.1
2.1.0
2.1.0.1
2.2.0.0-RC2
2.2.0.0-RC3
2.2.0.0
2.2.1.0-RC1
2.2.1.0
2.2.1.1
2.2.2.0
2.2.3.0
2.2.3.1

Database specific

{
    "last_known_affected_version_range": "<= 2.2.3.1"
}