{"id":"GHSA-8m5h-hrqm-pxm2","summary":"Path traversal in the OWASP Enterprise Security API","details":"### Impact\nThe 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.\n\n### Patches\nThis 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.\n\n### Workarounds\nYes; 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.\n\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Email one of the project co-leaders. See email addresses listed on  the [OWASP ESAPI wiki](https://owasp.org/www-project-enterprise-security-api/) page, under \"Leaders\".\n* Send email to one of the two ESAPI related Google Groups listed under [Where to Find More Information on ESAPI](https://github.com/ESAPI/esapi-java-legacy#where-to-find-more-information-on-esapi) on our [README.md](https://github.com/ESAPI/esapi-java-legacy#readme) page.","aliases":["CVE-2022-23457"],"modified":"2025-11-04T00:07:46.043647Z","published":"2022-04-27T21:09:43Z","database_specific":{"nvd_published_at":"2022-04-25T20:15:00Z","cwe_ids":["CWE-22"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-04-27T21:09:43Z"},"references":[{"type":"WEB","url":"https://github.com/ESAPI/esapi-java-legacy/security/advisories/GHSA-8m5h-hrqm-pxm2"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-23457"},{"type":"WEB","url":"https://github.com/ESAPI/esapi-java-legacy/commit/a0d67b75593878b1b6e39e2acc1773b3effedb2a"},{"type":"PACKAGE","url":"https://github.com/ESAPI/esapi-java-legacy"},{"type":"WEB","url":"https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/GHSL-2022-008_The_OWASP_Enterprise_Security_API.md"},{"type":"WEB","url":"https://github.com/ESAPI/esapi-java-legacy/blob/develop/documentation/esapi4java-core-2.3.0.0-release-notes.txt"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/07/msg00010.html"},{"type":"WEB","url":"https://security.netapp.com/advisory/ntap-20230127-0014"},{"type":"ADVISORY","url":"https://securitylab.github.com/advisories/GHSL-2022-008_The_OWASP_Enterprise_Security_API"},{"type":"WEB","url":"https://www.oracle.com/security-alerts/cpujul2022.html"}],"affected":[{"package":{"name":"org.owasp.esapi:esapi","ecosystem":"Maven","purl":"pkg:maven/org.owasp.esapi/esapi"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.3.0.0"}]}],"versions":["2.0.1","2.0GA","2.0_rc10","2.0_rc11","2.0_rc9","2.1.0","2.1.0.1","2.2.0.0","2.2.0.0-RC2","2.2.0.0-RC3","2.2.1.0","2.2.1.0-RC1","2.2.1.1","2.2.2.0","2.2.3.0","2.2.3.1"],"database_specific":{"last_known_affected_version_range":"\u003c= 2.2.3.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-8m5h-hrqm-pxm2/GHSA-8m5h-hrqm-pxm2.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}