CVE-2016-6795 Path Traversal in Apache Struts

Critical 9.8 Published Updated

Attackers can exploit a path traversal flaw in the Convention plugin to execute arbitrary code on the server.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2016-6795?

CVE-2016-6795 is a critical path traversal vulnerability in Apache Struts, published on 20 Sep 2017. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

In the Convention plugin in Apache Struts 2.3.x before 2.3.31, and 2.5.x before 2.5.5, it is possible to prepare a special URL which will be used for path traversal and execution of arbitrary code on server side.

Weakness: CWE-22

Which versions are affected by CVE-2016-6795?

4 open source packages ship an affected version, including org.apache.struts:struts2-convention-plugin. It affects 1 product.

PackageAffectedFixed in
org.apache.struts:struts2-convention-plugin MavenFrom 2.3.02.3.31
org.apache.struts:struts2-convention-plugin MavenFrom 2.3.02.3.31
org.apache.struts:struts2-convention-plugin MavenFrom 2.5.02.5.5
org.apache.struts:struts2-convention-plugin MavenFrom 2.5.02.5.5

Products include Apache Struts.

How do I fix CVE-2016-6795?

Upgrade org.apache.struts:struts2-convention-plugin to a fixed version for your release line: 2.3.31 or 2.5.5.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2016-6795 being exploited?

There is no known exploitation of CVE-2016-6795 in the wild and no public exploit code.

All Apache Struts vulnerabilities

Sources

Also known as GHSA-44hv-jjx7-qfjg.

Is CVE-2016-6795 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free