Skip to content
OpenAdvisories

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
Ubuntu Pro 16.04 LTS commons-io No fix yet —
Ubuntu Pro 14.04 LTS commons-io 2.4-2ubuntu0.1~esm1 —
ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
SLES for SAP 12 SP5 apache-commons-io 2.4-9.3.1 SUSE-SU-2021:1315-1
ReleasePackageFixed inAdvisory
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

ReleasePackageFixed inAdvisory
Amazon Linux 2 apache-commons-io +1 1:2.4-12.amzn2.0.1 ALAS2-2023-2059

Wolfi

ReleasePackageFixed inAdvisory
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.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 2 repositories

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

Advisories 27

References