Cloudanix VulnDB

CVE-2016-5388

High · 8.1

CVSS

8.1

EPSS

50.9%

Published

Jul 19, 2016

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Attend

A configuration in some web servers can let attackers secretly redirect parts of an application's network traffic by sending a specially crafted request.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Data Exposure
Component
Web Framework
Class
Improper Input Validation
Remediation
Config Change
Effort
Low
Patch risk
Low

What it actually does

When CGI Servlet is enabled, Tomcat follows RFC 3875 and populates the HTTP_PROXY environment variable from an untrusted Proxy request header, allowing outbound HTTP requests from CGI applications to be redirected to an arbitrary proxy.

Why it matters to the business

Applications using CGI may have their outbound HTTP traffic intercepted or redirected, exposing sensitive data in transit and enabling man-in-the-middle attacks across many enterprise Linux and Tomcat deployments.

How an attack unfolds

An attacker sends an HTTP request containing a crafted Proxy header; Tomcat sets the HTTP_PROXY environment variable for the CGI process; any outbound HTTP calls made by the CGI script are then routed through the attacker-controlled proxy, allowing traffic inspection or modification.

How to fix it

Disable the CGI Servlet when not required; clear or ignore the Proxy header in application code or web server configuration; monitor for future Tomcat releases that implement the planned mitigation.

How to confirm the fix worked

Review server.xml and web.xml for CGI servlet mappings; test by sending requests with a Proxy header and observing environment variables or outbound connection behavior in CGI scripts.

Typical attack path

  1. Identify a Tomcat instance with CGI Servlet enabled
  2. Craft an HTTP request containing a malicious Proxy header pointing to attacker proxy
  3. Trigger CGI execution that performs outbound HTTP requests
  4. Intercept or alter the redirected traffic at the attacker proxy

How to detect it

Search web access logs for requests containing a Proxy header; monitor CGI process environment variables or outbound connection logs for unexpected proxy settings.

What your security team should do

  • Audit all Tomcat installations for enabled CGI Servlet and disable where possible
  • Implement header filtering to strip Proxy headers at the load balancer or reverse proxy layer
  • Prioritize patching or mitigation on internet-facing systems given the high CVSS and persistent EPSS score

The record

Apache Tomcat 7.x through 7.0.70 and 8.x through 8.5.4, when the CGI Servlet is enabled, follows RFC 3875 section 4.1.18 and therefore does not protect applications from the presence of untrusted client data in the HTTP_PROXY environment variable, which might allow remote attackers to redirect an application's outbound HTTP traffic to an arbitrary proxy server via a crafted Proxy header in an HTTP request, aka an "httpoxy" issue. NOTE: the vendor states "A mitigation is planned for future releases of Tomcat, tracked as CVE-2016-5388"; in other words, this is not a CVE ID for a vulnerability.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.apache.tomcat:tomcat-catalina 7.0.0 7.0.72
Maven org.apache.tomcat:tomcat-catalina 8.0.0 8.5.5
Debian:8 tomcat8 0 8.0.14-1+deb8u15
Mageia:5 tomcat 0 7.0.68-1.3.mga5
Red Hat:enterprise_linux:6::client tomcat6 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-admin-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-docs-webapp 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-el-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-javadoc 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-jsp-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-lib 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-servlet-2.5-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::client tomcat6-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-admin-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-docs-webapp 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-el-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-javadoc 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-jsp-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-lib 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-servlet-2.5-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::computenode tomcat6-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-admin-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-docs-webapp 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-el-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-javadoc 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-jsp-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-lib 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-servlet-2.5-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::server tomcat6-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-admin-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-docs-webapp 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-el-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-javadoc 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-jsp-2.1-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-lib 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-servlet-2.5-api 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:6::workstation tomcat6-webapps 0 0:6.0.24-98.el6_8
Red Hat:enterprise_linux:7::client tomcat 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-admin-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-docs-webapp 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-el-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-javadoc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-jsp-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-jsvc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-lib 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-servlet-3.0-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::client tomcat-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-admin-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-docs-webapp 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-el-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-javadoc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-jsp-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-jsvc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-lib 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-servlet-3.0-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::computenode tomcat-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-admin-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-docs-webapp 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-el-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-javadoc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-jsp-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-jsvc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-lib 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-servlet-3.0-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::server tomcat-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-admin-webapps 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-docs-webapp 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-el-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-javadoc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-jsp-2.2-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-jsvc 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-lib 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-servlet-3.0-api 0 0:7.0.54-8.el7_2
Red Hat:enterprise_linux:7::workstation tomcat-webapps 0 0:7.0.54-8.el7_2
Red Hat:jboss_enterprise_web_server:3.0::el6 httpd24 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 httpd24-debuginfo 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 httpd24-devel 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 httpd24-manual 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 httpd24-tools 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 mod_ldap24 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 mod_proxy24_html 0 1:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 mod_session24 0 0:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 mod_ssl24 0 1:2.4.6-62.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-admin-webapps 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-docs-webapp 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-el-2.2-api 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-javadoc 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-jsp-2.2-api 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-lib 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-log4j 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-servlet-3.0-api 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat7-webapps 0 0:7.0.59-51_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-admin-webapps 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-docs-webapp 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-el-2.2-api 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-javadoc 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-jsp-2.3-api 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-lib 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-log4j 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-servlet-3.1-api 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el6 tomcat8-webapps 0 0:8.0.18-62_patch_01.ep7.el6
Red Hat:jboss_enterprise_web_server:3.0::el7 httpd24 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 httpd24-debuginfo 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 httpd24-devel 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 httpd24-manual 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 httpd24-tools 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 mod_ldap24 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 mod_proxy24_html 0 1:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 mod_session24 0 0:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 mod_ssl24 0 1:2.4.6-62.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-admin-webapps 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-docs-webapp 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-el-2.2-api 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-javadoc 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-jsp-2.2-api 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-lib 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-log4j 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-servlet-3.0-api 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat7-webapps 0 0:7.0.59-51_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-admin-webapps 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-docs-webapp 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-el-2.2-api 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-javadoc 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-jsp-2.3-api 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-lib 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-log4j 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-servlet-3.1-api 0 0:8.0.18-62_patch_01.ep7.el7
Red Hat:jboss_enterprise_web_server:3.0::el7 tomcat8-webapps 0 0:8.0.18-62_patch_01.ep7.el7
SUSE:Linux Enterprise Point of Sale 11 SP3 tomcat6 0 6.0.53-0.56.1
SUSE:Linux Enterprise Server 11 SP3-LTSS tomcat6 0 6.0.53-0.56.1
SUSE:Linux Enterprise Server 11 SP3-TERADATA tomcat6 0 6.0.53-0.56.1
SUSE:Linux Enterprise Server 11 SP4 tomcat6 0 6.0.45-0.53.2
SUSE:Linux Enterprise Server 11 SP4 tomcat6 0 6.0.53-0.56.1
SUSE:Linux Enterprise Server 12 SP1 tomcat 0 8.0.32-8.7
SUSE:Linux Enterprise Server 12-LTSS tomcat 0 7.0.78-7.13.4
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 tomcat6 0 6.0.45-0.53.2
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 tomcat6 0 6.0.53-0.56.1
SUSE:Linux Enterprise Server for SAP Applications 12 tomcat 0 7.0.78-7.13.4
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 tomcat 0 8.0.32-8.7
Ubuntu:14.04:LTS tomcat7 0 7.0.52-1ubuntu0.8
Ubuntu:16.04:LTS tomcat6 0 No fix
Ubuntu:16.04:LTS tomcat8 0 8.0.32-1ubuntu1.3
Ubuntu:Pro:14.04:LTS tomcat6 0 No fix
Ubuntu:Pro:16.04:LTS tomcat6 0 No fix
Ubuntu:Pro:16.04:LTS tomcat7 0 7.0.68-1ubuntu0.4+esm1
Ubuntu:Pro:18.04:LTS tomcat7 0 No fix
maven org.apache.tomcat/tomcat-catalina 7.0.0 7.0.72
maven org.apache.tomcat/tomcat-catalina 8.0.0 8.5.5

Related vulnerabilities