Description
In Apache Commons IO before 2.7, When invoking the method FileNameUtils.normalize with an improper input string, like "//../foo", or "\\..\foo", the result would be the same value, thus possibly providing access to files in the parent directory, but not further above (thus "limited" path traversal), if the calling code would use the result to construct a path value.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Apache Software Foundation | Apache Commons IO | Apache Commons IO 2.2, Apache Commons IO 2.3, Apache Commons IO 2.4, Apache Commons IO 2.5, Apache Commons IO 2.6 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | commons-io | 2.8.0-1 | — |
| Debian 13 | commons-io | 2.8.0-1 | — |
| Debian 12 | commons-io | 2.8.0-1 | — |
| Debian 9 | commons-io | 2.5-1+deb9u1 | DLA-2741-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | commons-io | 2.6-2ubuntu0.20.04.1 | USN-5095-1 |
| Ubuntu 18.04 LTS | commons-io | 2.6-2ubuntu0.18.04.1 | USN-5095-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 16.04 LTS | commons-io | No fix yet | — |
| Ubuntu Pro 14.04 LTS | commons-io | 2.4-2ubuntu0.1~esm1 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat JBoss EAP 7 | eap7-apache-commons-io | 2.10.0-1.redhat_00001.1.el6eap | RHSA-2021:3658, RHSA-2021:3656, RHSA-2021:3468 |
| Red Hat JBoss EAP 7 | eap7-hal-console | 3.2.16-1.Final_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-hibernate +4 | 5.3.20-4.SP2_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-ironjacamar +8 | 1.4.35-1.Final_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-jakarta-el | 3.0.3-2.redhat_00006.1.el6eap | RHSA-2021:3658, RHSA-2021:3656, RHSA-2021:3468 |
| Red Hat JBoss EAP 7 | eap7-jberet +1 | 1.3.9-1.Final_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-jboss-remoting | 5.0.23-2.SP1_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-jboss-server-migration +21 | 1.7.2-9.Final_redhat_00010.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-narayana +10 | 5.9.12-1.Final_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-netty +1 | 4.1.63-1.Final_redhat_00001.1.el7eap | RHSA-2021:3658, RHSA-2021:3656 |
| Red Hat JBoss EAP 7 | eap7-picketbox +1 | 5.0.3-9.Final_redhat_00008.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-undertow | 2.0.39-1.SP2_redhat_00001.1.el6eap | RHSA-2021:3658, RHSA-2021:3656, RHSA-2021:3468 |
| Red Hat JBoss EAP 7 | eap7-velocity +1 | 2.3.0-1.redhat_00001.1.el7eap | RHSA-2021:3658, RHSA-2021:3656 |
| Red Hat JBoss EAP 7 | eap7-wildfly +2 | 7.3.9-2.GA_redhat_00002.1.el6eap | RHSA-2021:3658, RHSA-2021:3656, RHSA-2021:3468 |
| Red Hat JBoss EAP 7 | eap7-wildfly-elytron +1 | 1.15.5-1.Final_redhat_00001.1.el7eap | RHSA-2021:3658, RHSA-2021:3656 |
| Red Hat JBoss EAP 7 | eap7-wildfly-http-client +4 | 1.0.29-1.Final_redhat_00002.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
| Red Hat JBoss EAP 7 | eap7-wildfly-java-jdk8 +1 | 7.3.9-2.GA_redhat_00002.1.el7eap | RHSA-2021:3656, RHSA-2021:3467 |
| Red Hat JBoss EAP 7 | eap7-wildfly-transaction-client | 1.1.14-2.Final_redhat_00001.1.el6eap | RHSA-2021:3468, RHSA-2021:3467, RHSA-2021:3466 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP2 | apache-commons-io | 2.6-3.3.1 | SUSE-SU-2021:1282-1 |
| SLES 12 SP5 | apache-commons-io | 2.4-9.3.1 | SUSE-SU-2021:1315-1 |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 12 SP5 | apache-commons-io | 2.4-9.3.1 | SUSE-SU-2021:1315-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | apache-commons-io | 2.11.0-2.1 | openSUSE-SU-2024:12099-1 |
| openSUSE Leap 15.2 | apache-commons-io | 2.6-lp152.2.3.1 | openSUSE-SU-2021:0605-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2 | apache-commons-io +1 | 1:2.4-12.amzn2.0.1 | ALAS2-2023-2059 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | druid | 35.0.1-r1 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 2 repositories
-
shoucheng3/asf__commons-io_CVE-2021-29425_2-6 ★ 0 · Aug 16, 2025
-
arsalanraja987/java-cve-2021-29425-tika-xxe ★ 0 · Jul 7, 2025
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | com.cosium.vet:vet | >= 1.0, <= 3.22 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | com.diamondq.common:common-thirdparty.jcasbin | 1.4.0 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | com.liferay:com.liferay.sass.compiler.jsass | 1.0.1 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | com.virjar:ratel-api | >= 1.0.0, <= 1.3.6 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | commons-io:commons-io | < 2.7 | 2.7 | GHSA-gwrp-pvrq-jmwv |
| Maven | net.hasor:cobble-lang | >= 4.4.1, <= 4.6.2 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | org.apache.commons:commons-io | 1.3.2 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-io | >= 1.4, <= 1.5 | — | GHSA-gwrp-pvrq-jmwv |
| Maven | org.checkerframework.annotatedlib:commons-io | >= 2.6, < 2.7 | 2.7 | GHSA-gwrp-pvrq-jmwv |
| Maven | org.smartboot.servlet:servlet-core | >= 0.1.9, <= 0.6 | — | GHSA-gwrp-pvrq-jmwv |
Advisories 27
- RHSA-2021:3658 Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.4.1 security update on RHEL 8 Red Hat Security Advisories (RHSA) · Oct 13, 2026
- RHSA-2021:3656 Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.4.1 security update on RHEL 7 Red Hat Security Advisories (RHSA) · Oct 13, 2026
- RHSA-2021:3468 Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.3.9 security update on RHEL 8 Red Hat Security Advisories (RHSA) · Oct 13, 2026
- RHSA-2021:3467 Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.3.9 security update on RHEL 7 Red Hat Security Advisories (RHSA) · Oct 13, 2026
- RHSA-2021:3466 Red Hat Security Advisory: Red Hat JBoss Enterprise Application Platform 7.3.9 security update on RHEL 6 Red Hat Security Advisories (RHSA) · Oct 13, 2026
- USN-5095-1 commons-io vulnerability Ubuntu Security Notices (USN) · Oct 8, 2026
- WID-SEC-2024-0794 Dell ECS: Mehrere Schwachstellen BSI CERT-Bund (WID) · Aug 11, 2026
- WID-SEC-2025-0227 IBM QRadar SIEM: Mehrere Schwachstellen BSI CERT-Bund (WID) · Aug 11, 2026
- WID-SEC-2024-1637 Oracle Fusion Middleware: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jun 1, 2026
- DLA-2741-1 commons-io - security update Debian Security (DSA / DLA) · Mar 9, 2026
- WID-SEC-2023-1359 Apache Commons: Schwachstelle ermöglicht Offenlegung von Informationen BSI CERT-Bund (WID) · Feb 10, 2026
- SUSE-SU-2021:1282-1 Security update for apache-commons-io SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2021:1315-1 Security update for apache-commons-io SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2021:0605-1 Security update for apache-commons-io SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:12099-1 apache-commons-io-2.11.0-2.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- WID-SEC-2026-0180 Dell Data Protection Advisor: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jan 20, 2026
- WID-SEC-2023-2229 Splunk Splunk Enterprise: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 18, 2025
- WID-SEC-2024-1642 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 20, 2024
- WID-SEC-2024-2180 Oracle Fusion Middleware: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 18, 2024
- NCSC-2024-0298 Kwetsbaarheden verholpen in Oracle Fusion Middleware NCSC-NL (Netherlands) · Jul 17, 2024
- NCSC-2024-0294 Kwetsbaarheden verholpen in Oracle Communications NCSC-NL (Netherlands) · Jul 17, 2024
- WID-SEC-2024-0113 Oracle Utilities Applications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Mar 19, 2024
- WID-SEC-2024-0122 Oracle Hyperion: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jan 16, 2024
- WID-SEC-2023-1807 Oracle Fusion Middleware: Mehrere Schwachstellen BSI CERT-Bund (WID) · Dec 26, 2023
- ALAS2-2023-2059 Moderate: apache-commons-io security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Jun 1, 2023
- WID-SEC-2023-1017 Oracle Financial Services Applications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Apr 18, 2023
- WID-SEC-2023-0119 Oracle Utilities Applications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jan 17, 2023
References
- https://issues.apache.org/jira/browse/IO-556
- https://lists.apache.org/thread.html/rc359823b5500e9a9a2572678ddb8e01d3505a7ffcadfa8d13b8780ab%40%3Cuser.commons.apache.org%3E
- [commons-dev] 20210414 Re: [all] OSS Fuzz mailing-list
- [commons-dev] 20210415 Re: [all] OSS Fuzz mailing-list
- [pulsar-commits] 20210420 [GitHub] [pulsar] lhotari opened a new pull request #10287: [Security] Upgrade commons-io to address CVE-2021-29425 mailing-list
- [pulsar-commits] 20210420 [GitHub] [pulsar] merlimat merged pull request #10287: [Security] Upgrade commons-io to address CVE-2021-29425 mailing-list
- [creadur-dev] 20210427 [jira] [Closed] (RAT-281) Update commons-io to fix CVE-2021-29425 Moderate severity mailing-list
- [creadur-dev] 20210427 [jira] [Created] (RAT-281) Update commons-io to fix CVE-2021-29425 Moderate severity mailing-list
- [creadur-dev] 20210427 [jira] [Commented] (RAT-281) Update commons-io to fix CVE-2021-29425 Moderate severity mailing-list
- [creadur-dev] 20210427 [jira] [Updated] (RAT-281) Update commons-io to fix CVE-2021-29425 Moderate severity mailing-list
- [pulsar-commits] 20210429 [pulsar] branch branch-2.7 updated: [Security] Upgrade commons-io to address CVE-2021-29425 (#10287) mailing-list
- [myfaces-dev] 20210504 [GitHub] [myfaces-tobago] lofwyr14 opened a new pull request #808: build: CVE fix mailing-list
- [creadur-dev] 20210518 [jira] [Created] (WHISKER-19) Update commons-io to fix CVE-2021-29425 mailing-list
- [creadur-dev] 20210518 [jira] [Commented] (WHISKER-19) Update commons-io to fix CVE-2021-29425 mailing-list
- [creadur-dev] 20210518 [jira] [Assigned] (WHISKER-19) Update commons-io to fix CVE-2021-29425 mailing-list
- [creadur-dev] 20210518 [jira] [Updated] (WHISKER-19) Update commons-io to fix CVE-2021-29425 mailing-list
- [kafka-users] 20210617 vulnerabilities mailing-list
- [creadur-dev] 20210621 [jira] [Commented] (RAT-281) Update commons-io to fix CVE-2021-29425 Moderate severity mailing-list
- [commons-user] 20210709 commons-fileupload dependency and CVE mailing-list
- [commons-user] 20210709 Re: commons-fileupload dependency and CVE mailing-list
- [portals-pluto-dev] 20210714 [jira] [Closed] (PLUTO-789) Upgrade to commons-io-2.7 due to CVE-2021-29425 mailing-list
- [portals-pluto-dev] 20210714 [jira] [Created] (PLUTO-789) Upgrade to commons-io-2.7 due to CVE-2021-29425 mailing-list
- [portals-pluto-scm] 20210714 [portals-pluto] branch master updated: PLUTO-789 Upgrade to commons-io-2.7 due to CVE-2021-29425 mailing-list
- [zookeeper-issues] 20210805 [jira] [Updated] (ZOOKEEPER-4343) OWASP Dependency-Check fails with CVE-2021-29425, commons-io-2.6 mailing-list
- [zookeeper-notifications] 20210805 [GitHub] [zookeeper] ztzg opened a new pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.7 (avoids CVE-2021-29425) mailing-list
- [zookeeper-dev] 20210805 [jira] [Created] (ZOOKEEPER-4343) OWASP Dependency-Check fails with CVE-2021-29425, commons-io-2.6 mailing-list
- [zookeeper-notifications] 20210805 [GitHub] [zookeeper] ztzg commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.7 (avoids CVE-2021-29425) mailing-list
- [zookeeper-issues] 20210805 [jira] [Created] (ZOOKEEPER-4343) OWASP Dependency-Check fails with CVE-2021-29425, commons-io-2.6 mailing-list
- [zookeeper-notifications] 20210806 [GitHub] [zookeeper] nkalmar commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.7 (avoids CVE-2021-29425) mailing-list
- [debian-lts-announce] 20210812 [SECURITY] [DLA 2741-1] commons-io security update mailing-list
- [zookeeper-notifications] 20210813 [GitHub] [zookeeper] ztzg commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210813 [GitHub] [zookeeper] eolivelli commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210813 [GitHub] [zookeeper] eolivelli commented on a change in pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210816 [GitHub] [zookeeper] nkalmar edited a comment on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210816 [GitHub] [zookeeper] nkalmar commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210825 [GitHub] [zookeeper] ztzg commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210825 [GitHub] [zookeeper] ztzg commented on a change in pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210825 [GitHub] [zookeeper] eolivelli commented on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210825 [GitHub] [zookeeper] ztzg edited a comment on pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-notifications] 20210901 [GitHub] [zookeeper] ztzg closed pull request #1735: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-commits] 20210901 [zookeeper] branch master updated: ZOOKEEPER-4343: Bump commons-io to version 2.11 (avoids CVE-2021-29425) mailing-list
- [zookeeper-issues] 20210901 [jira] [Resolved] (ZOOKEEPER-4343) OWASP Dependency-Check fails with CVE-2021-29425, commons-io-2.6 mailing-list
- https://www.oracle.com/security-alerts/cpuoct2021.html
- https://www.oracle.com/security-alerts/cpujan2022.html
- https://www.oracle.com/security-alerts/cpuapr2022.html
- https://security.netapp.com/advisory/ntap-20220210-0004/
- https://www.oracle.com/security-alerts/cpujul2022.html