Possible limited path traversal vulnerabily in Apache Commons IO
Description
Apache Commons IO before 2.7's FileNameUtils.normalize may fail to sanitize inputs like "//../foo", enabling limited path traversal.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Apache Commons IO before 2.7's FileNameUtils.normalize may fail to sanitize inputs like "//../foo", enabling limited path traversal.
Vulnerability
Apache Commons IO versions before 2.7 contain a limited path traversal vulnerability in the FileNameUtils.normalize method. When provided with an improper input string such as "//../foo" or "\\..\foo", the method returns the same value unsanitized instead of normalizing it, potentially allowing access to files in the parent directory [1][2]. The issue is related to how getPrefixLength treats leading "//" as a UNC server name, bypassing further validation in doNormalize [2].
Exploitation
An attacker who can supply a crafted file name string (for example, via a multipart POST request in a web application) can exploit this behavior if the application uses FileNameUtils.normalize to sanitize user input and later constructs a file path by appending the result to a base directory [2]. No special network position beyond normal application access is required; the attacker simply provides the malicious string as user input.
Impact
A successful exploit results in a limited path traversal, allowing the attacker to reference files one directory level above the intended base directory (e.g., reading or writing files via a single "../" step). The traversal is limited to the immediate parent directory and cannot go further above, as described in the CVE. The impact scope includes potential information disclosure or file manipulation depending on how the application uses the normalized path [1][2].
Mitigation
The fix was released in Apache Commons IO version 2.7 [1][3]. Users should upgrade to 2.7 or later. If upgrading is not immediately possible, applications should avoid using FileNameUtils.normalize with untrusted input without additional validation, or implement their own input sanitization that rejects or normalizes paths containing leading slashes or UNC-style prefixes.
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
commons-io:commons-ioMaven | < 2.7 | 2.7 |
com.cosium.vet:vetMaven | >= 1.0, <= 3.22 | — |
com.virjar:ratel-apiMaven | >= 1.0.0, <= 1.3.6 | — |
net.hasor:cobble-langMaven | >= 4.4.1, <= 4.6.2 | — |
org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-ioMaven | >= 1.4, <= 1.5 | — |
org.checkerframework.annotatedlib:commons-ioMaven | >= 2.6, < 2.7 | 2.7 |
org.smartboot.servlet:servlet-coreMaven | >= 0.1.9, <= 0.6 | — |
Affected products
19- osv-coords18 versionspkg:apk/chainguard/druid-compatpkg:apk/wolfi/druid-compatpkg:maven/com.cosium.vet/vetpkg:maven/com.diamondq.common/common-thirdparty.jcasbinpkg:maven/com.liferay/com.liferay.sass.compiler.jsasspkg:maven/commons-io/commons-iopkg:maven/com.virjar/ratel-apipkg:maven/net.hasor/cobble-langpkg:maven/org.apache.commons/commons-iopkg:maven/org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-iopkg:maven/org.checkerframework.annotatedlib/commons-iopkg:maven/org.smartboot.servlet/servlet-corepkg:rpm/opensuse/apache-commons-io&distro=openSUSE%20Leap%2015.2pkg:rpm/opensuse/apache-commons-io&distro=openSUSE%20Tumbleweedpkg:rpm/suse/apache-commons-io&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP2pkg:rpm/suse/apache-commons-io&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5pkg:rpm/suse/apache-commons-io&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20Applications%2012%20SP5pkg:rpm/suse/apache-commons-io&distro=SUSE%20Linux%20Enterprise%20Software%20Development%20Kit%2012%20SP5
< 34.0.0-r6+ 17 more
- (no CPE)range: < 34.0.0-r6
- (no CPE)range: < 34.0.0-r6
- (no CPE)range: >= 1.0, <= 3.22
- (no CPE)
- (no CPE)
- (no CPE)range: < 2.7
- (no CPE)range: >= 1.0.0, <= 1.3.6
- (no CPE)range: >= 4.4.1, <= 4.6.2
- (no CPE)
- (no CPE)range: >= 1.4, <= 1.5
- (no CPE)range: >= 2.6, < 2.7
- (no CPE)range: >= 0.1.9, <= 0.6
- (no CPE)range: < 2.6-lp152.2.3.1
- (no CPE)range: < 2.11.0-2.1
- (no CPE)range: < 2.6-3.3.1
- (no CPE)range: < 2.4-9.3.1
- (no CPE)range: < 2.4-9.3.1
- (no CPE)range: < 2.4-9.3.1
- Range: Apache Commons IO 2.2
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
91- github.com/advisories/GHSA-gwrp-pvrq-jmwvghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2021-29425ghsaADVISORY
- arxiv.org/pdf/2306.05534.pdfghsaWEB
- github.com/jensdietrich/xshady-release/tree/main/CVE-2021-29425ghsaWEB
- issues.apache.org/jira/browse/IO-556ghsax_refsource_MISCWEB
- lists.apache.org/thread.html/r01b4a1fcdf3311c936ce33d75a9398b6c255f00c1a2f312ac21effe1%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r01b4a1fcdf3311c936ce33d75a9398b6c255f00c1a2f312ac21effe1@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r0bfa8f7921abdfae788b1f076a12f73a92c93cc0a6e1083bce0027c5%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r0bfa8f7921abdfae788b1f076a12f73a92c93cc0a6e1083bce0027c5@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r0d73e2071d1f1afe1a15da14c5b6feb2cf17e3871168d5a3c8451436%40%3Ccommits.pulsar.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r0d73e2071d1f1afe1a15da14c5b6feb2cf17e3871168d5a3c8451436@%3Ccommits.pulsar.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r1c2f4683c35696cf6f863e3c107e37ec41305b1930dd40c17260de71%40%3Ccommits.pulsar.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r1c2f4683c35696cf6f863e3c107e37ec41305b1930dd40c17260de71@%3Ccommits.pulsar.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r20416f39ca7f7344e7d76fe4d7063bb1d91ad106926626e7e83fb346%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r20416f39ca7f7344e7d76fe4d7063bb1d91ad106926626e7e83fb346@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r2345b49dbffa8a5c3c589c082fe39228a2c1d14f11b96c523da701db%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r2345b49dbffa8a5c3c589c082fe39228a2c1d14f11b96c523da701db@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r2721aba31a8562639c4b937150897e24f78f747cdbda8641c0f659fe%40%3Cusers.kafka.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r2721aba31a8562639c4b937150897e24f78f747cdbda8641c0f659fe@%3Cusers.kafka.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r27b1eedda37468256c4bb768fde1e8b79b37ec975cbbfd0d65a7ac34%40%3Cdev.myfaces.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r27b1eedda37468256c4bb768fde1e8b79b37ec975cbbfd0d65a7ac34@%3Cdev.myfaces.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r2bc986a070457daca457a54fe71ee09d2584c24dc262336ca32b6a19%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r2bc986a070457daca457a54fe71ee09d2584c24dc262336ca32b6a19@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r2df50af2641d38f432ef025cd2ba5858215cc0cf3fc10396a674ad2e%40%3Cpluto-scm.portals.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r2df50af2641d38f432ef025cd2ba5858215cc0cf3fc10396a674ad2e@%3Cpluto-scm.portals.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r345330b7858304938b7b8029d02537a116d75265a598c98fa333504a%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r345330b7858304938b7b8029d02537a116d75265a598c98fa333504a@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r4050f9f6b42ebfa47a98cbdee4aabed4bb5fb8093db7dbb88faceba2%40%3Ccommits.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r4050f9f6b42ebfa47a98cbdee4aabed4bb5fb8093db7dbb88faceba2@%3Ccommits.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r462db908acc1e37c455e11b1a25992b81efd18e641e7e0ceb1b6e046%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r462db908acc1e37c455e11b1a25992b81efd18e641e7e0ceb1b6e046@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r477c285126ada5c3b47946bb702cb222ac4e7fd3100c8549bdd6d3b2%40%3Cissues.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r477c285126ada5c3b47946bb702cb222ac4e7fd3100c8549bdd6d3b2@%3Cissues.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r47ab6f68cbba8e730f42c4ea752f3a44eb95fb09064070f2476bb401%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r47ab6f68cbba8e730f42c4ea752f3a44eb95fb09064070f2476bb401@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r5149f78be265be69d34eacb4e4b0fc7c9c697bcdfa91a1c1658d717b%40%3Cissues.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r5149f78be265be69d34eacb4e4b0fc7c9c697bcdfa91a1c1658d717b@%3Cissues.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r523a6ffad58f71c4f3761e3cee72df878e48cdc89ebdce933be1475c%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r523a6ffad58f71c4f3761e3cee72df878e48cdc89ebdce933be1475c@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r808be7d93b17a7055c1981a8453ae5f0d0fce5855407793c5d0ffffa%40%3Cuser.commons.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r808be7d93b17a7055c1981a8453ae5f0d0fce5855407793c5d0ffffa@%3Cuser.commons.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r8569a41d565ca880a4dee0e645dad1cd17ab4a92e68055ad9ebb7375%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r8569a41d565ca880a4dee0e645dad1cd17ab4a92e68055ad9ebb7375@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r86528f4b7d222aed7891e7ac03d69a0db2a2dfa17b86ac3470d7f374%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r86528f4b7d222aed7891e7ac03d69a0db2a2dfa17b86ac3470d7f374@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r873d5ddafc0a68fd999725e559776dc4971d1ab39c0f5cc81bd9bc04%40%3Ccommits.pulsar.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r873d5ddafc0a68fd999725e559776dc4971d1ab39c0f5cc81bd9bc04@%3Ccommits.pulsar.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r8bfc7235e6b39d90e6f446325a5a44c3e9e50da18860fdabcee23e29%40%3Cissues.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r8bfc7235e6b39d90e6f446325a5a44c3e9e50da18860fdabcee23e29@%3Cissues.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r8efcbabde973ea72f5e0933adc48ef1425db5cde850bf641b3993f31%40%3Cdev.commons.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r8efcbabde973ea72f5e0933adc48ef1425db5cde850bf641b3993f31@%3Cdev.commons.apache.org%3EghsaWEB
- lists.apache.org/thread.html/r92ea904f4bae190b03bd42a4355ce3c2fbe8f36ab673e03f6ca3f9fa%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/r92ea904f4bae190b03bd42a4355ce3c2fbe8f36ab673e03f6ca3f9fa@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/ra8ef65aedc086d2d3d21492b4c08ae0eb8a3a42cc52e29ba1bc009d8%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/ra8ef65aedc086d2d3d21492b4c08ae0eb8a3a42cc52e29ba1bc009d8@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/raa053846cae9d497606027816ae87b4e002b2e0eb66cb0dee710e1f5%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/raa053846cae9d497606027816ae87b4e002b2e0eb66cb0dee710e1f5@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rad4ae544747df32ccd58fff5a86cd556640396aeb161aa71dd3d192a%40%3Cuser.commons.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rad4ae544747df32ccd58fff5a86cd556640396aeb161aa71dd3d192a@%3Cuser.commons.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rbebd3e19651baa7a4a5503a9901c95989df9d40602c8e35cb05d3eb5%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rbebd3e19651baa7a4a5503a9901c95989df9d40602c8e35cb05d3eb5@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rc10fa20ef4d13cbf6ebe0b06b5edb95466a1424a9b7673074ed03260%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rc10fa20ef4d13cbf6ebe0b06b5edb95466a1424a9b7673074ed03260@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rc2dd3204260e9227a67253ef68b6f1599446005bfa0e1ddce4573a80%40%3Cpluto-dev.portals.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rc2dd3204260e9227a67253ef68b6f1599446005bfa0e1ddce4573a80@%3Cpluto-dev.portals.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rc359823b5500e9a9a2572678ddb8e01d3505a7ffcadfa8d13b8780ab%40%3Cuser.commons.apache.org%3Eghsax_refsource_MISCWEB
- lists.apache.org/thread.html/rc5f3df5316c5237b78a3dff5ab95b311ad08e61d418cd992ca7e34ae%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rc5f3df5316c5237b78a3dff5ab95b311ad08e61d418cd992ca7e34ae@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rc65f9bc679feffe4589ea0981ee98bc0af9139470f077a91580eeee0%40%3Cpluto-dev.portals.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rc65f9bc679feffe4589ea0981ee98bc0af9139470f077a91580eeee0@%3Cpluto-dev.portals.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rca71a10ca533eb9bfac2d590533f02e6fb9064d3b6aa3ec90fdc4f51%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rca71a10ca533eb9bfac2d590533f02e6fb9064d3b6aa3ec90fdc4f51@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rd09d4ab3e32e4b3a480e2ff6ff118712981ca82e817f28f2a85652a6%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rd09d4ab3e32e4b3a480e2ff6ff118712981ca82e817f28f2a85652a6@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/re41e9967bee064e7369411c28f0f5b2ad28b8334907c9c6208017279%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/re41e9967bee064e7369411c28f0f5b2ad28b8334907c9c6208017279@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/red3aea910403d8620c73e1c7b9c9b145798d0469eb3298a7be7891af%40%3Cnotifications.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/red3aea910403d8620c73e1c7b9c9b145798d0469eb3298a7be7891af@%3Cnotifications.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rfa2f08b7c0caf80ca9f4a18bd875918fdd4e894e2ea47942a4589b9c%40%3Cdev.creadur.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rfa2f08b7c0caf80ca9f4a18bd875918fdd4e894e2ea47942a4589b9c@%3Cdev.creadur.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rfcd2c649c205f12b72dde044f905903460669a220a2eb7e12652d19d%40%3Cdev.zookeeper.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rfcd2c649c205f12b72dde044f905903460669a220a2eb7e12652d19d@%3Cdev.zookeeper.apache.org%3EghsaWEB
- lists.apache.org/thread.html/rfd01af05babc95b8949e6d8ea78d9834699e1b06981040dde419a330%40%3Cdev.commons.apache.org%3Emitremailing-listx_refsource_MLIST
- lists.apache.org/thread.html/rfd01af05babc95b8949e6d8ea78d9834699e1b06981040dde419a330@%3Cdev.commons.apache.org%3EghsaWEB
- lists.debian.org/debian-lts-announce/2021/08/msg00016.htmlghsamailing-listx_refsource_MLISTWEB
- security.netapp.com/advisory/ntap-20220210-0004ghsaWEB
- security.netapp.com/advisory/ntap-20220210-0004/mitrex_refsource_CONFIRM
- www.oracle.com/security-alerts/cpuapr2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpujan2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpujul2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpuoct2021.htmlghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.