CVE Vulnerabilities

CVE-2016-8745

Published: Aug 10, 2017 | Modified: Apr 20, 2025
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:P/I:N/A:N
RedHat/V2
4.3 IMPORTANT
AV:N/AC:M/Au:N/C:P/I:N/A:N
RedHat/V3
7.5 IMPORTANT
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

A bug in the error handling of the send file code for the NIO HTTP connector in Apache Tomcat 9.0.0.M1 to 9.0.0.M13, 8.5.0 to 8.5.8, 8.0.0.RC1 to 8.0.39, 7.0.0 to 7.0.73 and 6.0.16 to 6.0.48 resulted in the current Processor object being added to the Processor cache multiple times. This in turn meant that the same Processor could be used for concurrent requests. Sharing a Processor can result in information leakage between requests including, not not limited to, session ID and the response body. The bug was first noticed in 8.5.x onwards where it appears the refactoring of the Connector code for 8.5.x onwards made it more likely that the bug was observed. Initially it was thought that the 8.5.x refactoring introduced the bug but further investigation has shown that the bug is present in all currently supported Tomcat versions.

Affected Software

NameVendorStart VersionEnd Version
TomcatApache7.0.0 (including)7.0.0 (including)
TomcatApache7.0.1 (including)7.0.1 (including)
TomcatApache7.0.2 (including)7.0.2 (including)
TomcatApache7.0.3 (including)7.0.3 (including)
TomcatApache7.0.4 (including)7.0.4 (including)
TomcatApache7.0.5 (including)7.0.5 (including)
TomcatApache7.0.6 (including)7.0.6 (including)
TomcatApache7.0.7 (including)7.0.7 (including)
TomcatApache7.0.8 (including)7.0.8 (including)
TomcatApache7.0.9 (including)7.0.9 (including)
TomcatApache7.0.11 (including)7.0.11 (including)
TomcatApache7.0.12 (including)7.0.12 (including)
TomcatApache7.0.13 (including)7.0.13 (including)
TomcatApache7.0.14 (including)7.0.14 (including)
TomcatApache7.0.15 (including)7.0.15 (including)
TomcatApache7.0.16 (including)7.0.16 (including)
TomcatApache7.0.17 (including)7.0.17 (including)
TomcatApache7.0.18 (including)7.0.18 (including)
TomcatApache7.0.19 (including)7.0.19 (including)
TomcatApache7.0.20 (including)7.0.20 (including)
TomcatApache7.0.21 (including)7.0.21 (including)
TomcatApache7.0.22 (including)7.0.22 (including)
TomcatApache7.0.23 (including)7.0.23 (including)
TomcatApache7.0.24 (including)7.0.24 (including)
TomcatApache7.0.25 (including)7.0.25 (including)
TomcatApache7.0.26 (including)7.0.26 (including)
TomcatApache7.0.27 (including)7.0.27 (including)
TomcatApache7.0.28 (including)7.0.28 (including)
TomcatApache7.0.29 (including)7.0.29 (including)
TomcatApache7.0.30 (including)7.0.30 (including)
TomcatApache7.0.31 (including)7.0.31 (including)
TomcatApache7.0.32 (including)7.0.32 (including)
TomcatApache7.0.33 (including)7.0.33 (including)
TomcatApache7.0.34 (including)7.0.34 (including)
TomcatApache7.0.35 (including)7.0.35 (including)
TomcatApache7.0.36 (including)7.0.36 (including)
TomcatApache7.0.37 (including)7.0.37 (including)
TomcatApache7.0.38 (including)7.0.38 (including)
TomcatApache7.0.39 (including)7.0.39 (including)
TomcatApache7.0.40 (including)7.0.40 (including)
TomcatApache7.0.41 (including)7.0.41 (including)
TomcatApache7.0.42 (including)7.0.42 (including)
TomcatApache7.0.43 (including)7.0.43 (including)
TomcatApache7.0.44 (including)7.0.44 (including)
TomcatApache7.0.45 (including)7.0.45 (including)
TomcatApache7.0.46 (including)7.0.46 (including)
TomcatApache7.0.47 (including)7.0.47 (including)
TomcatApache7.0.48 (including)7.0.48 (including)
TomcatApache7.0.49 (including)7.0.49 (including)
TomcatApache7.0.50 (including)7.0.50 (including)
TomcatApache7.0.52 (including)7.0.52 (including)
TomcatApache7.0.53 (including)7.0.53 (including)
TomcatApache7.0.54 (including)7.0.54 (including)
TomcatApache7.0.55 (including)7.0.55 (including)
TomcatApache7.0.56 (including)7.0.56 (including)
TomcatApache7.0.57 (including)7.0.57 (including)
TomcatApache7.0.58 (including)7.0.58 (including)
TomcatApache7.0.59 (including)7.0.59 (including)
TomcatApache7.0.60 (including)7.0.60 (including)
TomcatApache7.0.61 (including)7.0.61 (including)
TomcatApache7.0.62 (including)7.0.62 (including)
TomcatApache7.0.63 (including)7.0.63 (including)
TomcatApache7.0.64 (including)7.0.64 (including)
TomcatApache7.0.65 (including)7.0.65 (including)
TomcatApache7.0.66 (including)7.0.66 (including)
TomcatApache7.0.67 (including)7.0.67 (including)
TomcatApache7.0.68 (including)7.0.68 (including)
TomcatApache7.0.69 (including)7.0.69 (including)
TomcatApache7.0.70 (including)7.0.70 (including)
TomcatApache7.0.71 (including)7.0.71 (including)
TomcatApache7.0.72 (including)7.0.72 (including)
TomcatApache7.0.73 (including)7.0.73 (including)
TomcatApache8.0 (including)8.0 (including)
TomcatApache8.0.0-rc1 (including)8.0.0-rc1 (including)
TomcatApache8.0.0-rc10 (including)8.0.0-rc10 (including)
TomcatApache8.0.0-rc3 (including)8.0.0-rc3 (including)
TomcatApache8.0.0-rc5 (including)8.0.0-rc5 (including)
TomcatApache8.0.1 (including)8.0.1 (including)
TomcatApache8.0.2 (including)8.0.2 (including)
TomcatApache8.0.3 (including)8.0.3 (including)
TomcatApache8.0.4 (including)8.0.4 (including)
TomcatApache8.0.5 (including)8.0.5 (including)
TomcatApache8.0.6 (including)8.0.6 (including)
TomcatApache8.0.7 (including)8.0.7 (including)
TomcatApache8.0.8 (including)8.0.8 (including)
TomcatApache8.0.9 (including)8.0.9 (including)
TomcatApache8.0.10 (including)8.0.10 (including)
TomcatApache8.0.11 (including)8.0.11 (including)
TomcatApache8.0.12 (including)8.0.12 (including)
TomcatApache8.0.13 (including)8.0.13 (including)
TomcatApache8.0.14 (including)8.0.14 (including)
TomcatApache8.0.15 (including)8.0.15 (including)
TomcatApache8.0.16 (including)8.0.16 (including)
TomcatApache8.0.17 (including)8.0.17 (including)
TomcatApache8.0.18 (including)8.0.18 (including)
TomcatApache8.0.19 (including)8.0.19 (including)
TomcatApache8.0.20 (including)8.0.20 (including)
TomcatApache8.0.21 (including)8.0.21 (including)
TomcatApache8.0.22 (including)8.0.22 (including)
TomcatApache8.0.23 (including)8.0.23 (including)
TomcatApache8.0.24 (including)8.0.24 (including)
TomcatApache8.0.25 (including)8.0.25 (including)
TomcatApache8.0.26 (including)8.0.26 (including)
TomcatApache8.0.27 (including)8.0.27 (including)
TomcatApache8.0.28 (including)8.0.28 (including)
TomcatApache8.0.29 (including)8.0.29 (including)
TomcatApache8.0.30 (including)8.0.30 (including)
TomcatApache8.0.31 (including)8.0.31 (including)
TomcatApache8.0.32 (including)8.0.32 (including)
TomcatApache8.0.33 (including)8.0.33 (including)
TomcatApache8.0.34 (including)8.0.34 (including)
TomcatApache8.0.35 (including)8.0.35 (including)
TomcatApache8.0.36 (including)8.0.36 (including)
TomcatApache8.0.37 (including)8.0.37 (including)
TomcatApache8.0.38 (including)8.0.38 (including)
TomcatApache8.0.39 (including)8.0.39 (including)
TomcatApache8.5.0 (including)8.5.0 (including)
TomcatApache8.5.1 (including)8.5.1 (including)
TomcatApache8.5.2 (including)8.5.2 (including)
TomcatApache8.5.3 (including)8.5.3 (including)
TomcatApache8.5.4 (including)8.5.4 (including)
TomcatApache8.5.5 (including)8.5.5 (including)
TomcatApache8.5.6 (including)8.5.6 (including)
TomcatApache8.5.7 (including)8.5.7 (including)
TomcatApache8.5.8 (including)8.5.8 (including)
TomcatApache9.0.0-milestone1 (including)9.0.0-milestone1 (including)
TomcatApache9.0.0-milestone10 (including)9.0.0-milestone10 (including)
TomcatApache9.0.0-milestone11 (including)9.0.0-milestone11 (including)
TomcatApache9.0.0-milestone12 (including)9.0.0-milestone12 (including)
TomcatApache9.0.0-milestone13 (including)9.0.0-milestone13 (including)
TomcatApache9.0.0-milestone2 (including)9.0.0-milestone2 (including)
TomcatApache9.0.0-milestone3 (including)9.0.0-milestone3 (including)
TomcatApache9.0.0-milestone4 (including)9.0.0-milestone4 (including)
TomcatApache9.0.0-milestone5 (including)9.0.0-milestone5 (including)
TomcatApache9.0.0-milestone6 (including)9.0.0-milestone6 (including)
TomcatApache9.0.0-milestone7 (including)9.0.0-milestone7 (including)
TomcatApache9.0.0-milestone8 (including)9.0.0-milestone8 (including)
TomcatApache9.0.0-milestone9 (including)9.0.0-milestone9 (including)
Red Hat Enterprise Linux 6RedHattomcat6-0:6.0.24-105.el6_8*
Red Hat Enterprise Linux 7RedHattomcat-0:7.0.69-11.el7_3*
Red Hat JBoss Web Server 3.1RedHat*
Red Hat JBoss Web Server 3 for RHEL 6RedHathibernate4-eap6-0:4.2.23-1.Final_redhat_1.1.ep6.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHatjbcs-httpd24-0:1-3.jbcs.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHatjbcs-httpd24-apache-commons-daemon-0:1.0.15-1.redhat_2.1.jbcs.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHatjbcs-httpd24-apache-commons-daemon-jsvc-1:1.0.15-17.redhat_2.jbcs.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHatmod_cluster-0:1.3.5-2.Final_redhat_2.1.ep7.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHattomcat7-0:7.0.70-16.ep7.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHattomcat8-0:8.0.36-17.ep7.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHattomcat-native-0:1.2.8-9.redhat_9.ep7.el6*
Red Hat JBoss Web Server 3 for RHEL 6RedHattomcat-vault-0:1.0.8-9.Final_redhat_2.1.ep7.el6*
Red Hat JBoss Web Server 3 for RHEL 7RedHathibernate4-eap6-0:4.2.23-1.Final_redhat_1.1.ep6.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHatjbcs-httpd24-0:1-3.jbcs.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHatjbcs-httpd24-apache-commons-daemon-0:1.0.15-1.redhat_2.1.jbcs.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHatjbcs-httpd24-apache-commons-daemon-jsvc-1:1.0.15-17.redhat_2.jbcs.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHatmod_cluster-0:1.3.5-2.Final_redhat_2.1.ep7.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHattomcat7-0:7.0.70-16.ep7.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHattomcat8-0:8.0.36-17.ep7.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHattomcat-native-0:1.2.8-9.redhat_9.ep7.el7*
Red Hat JBoss Web Server 3 for RHEL 7RedHattomcat-vault-0:1.0.8-9.Final_redhat_2.1.ep7.el7*
Tomcat6Ubuntuesm-apps/xenial*
Tomcat6Ubuntuesm-infra-legacy/trusty*
Tomcat6Ubuntuprecise*
Tomcat6Ubuntutrusty*
Tomcat6Ubuntutrusty/esm*
Tomcat6Ubuntuupstream*
Tomcat6Ubuntuxenial*
Tomcat7Ubuntuartful*
Tomcat7Ubuntuesm-apps/xenial*
Tomcat7Ubuntuesm-infra-legacy/trusty*
Tomcat7Ubuntuprecise*
Tomcat7Ubuntutrusty*
Tomcat7Ubuntutrusty/esm*
Tomcat7Ubuntuupstream*
Tomcat7Ubuntuxenial*
Tomcat7Ubuntuyakkety*
Tomcat7Ubuntuzesty*
Tomcat8Ubuntuartful*
Tomcat8Ubuntubionic*
Tomcat8Ubuntucosmic*
Tomcat8Ubuntuesm-apps/bionic*
Tomcat8Ubuntuesm-infra/xenial*
Tomcat8Ubuntuupstream*
Tomcat8Ubuntuxenial*
Tomcat8Ubuntuyakkety*
Tomcat8Ubuntuzesty*

References