CVE-2020-1938
Apache Tomcat Improper Privilege Management Vulnerability
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
18Exploited in Wild
YesDecision
Descriptions
When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Tomcat treats AJP connections as having higher trust than, for example, a similar HTTP connection. If such connections are available to an attacker, they can be exploited in ways that may be surprising. In Apache Tomcat 9.0.0.M1 to 9.0.0.30, 8.5.0 to 8.5.50 and 7.0.0 to 7.0.99, Tomcat shipped with an AJP Connector enabled by default that listened on all configured IP addresses. It was expected (and recommended in the security guide) that this Connector would be disabled if not required. This vulnerability report identified a mechanism that allowed: - returning arbitrary files from anywhere in the web application - processing any file in the web application as a JSP Further, if the web application allowed file upload and stored those files within the web application (or the attacker was able to control the content of the web application by some other means) then this, along with the ability to process a file as a JSP, made remote code execution possible. It is important to note that mitigation is only required if an AJP port is accessible to untrusted users. Users wishing to take a defence-in-depth approach and block the vector that permits returning arbitrary files and execution as JSP may upgrade to Apache Tomcat 9.0.31, 8.5.51 or 7.0.100 or later. A number of changes were made to the default AJP Connector configuration in 9.0.31 to harden the default configuration. It is likely that users upgrading to 9.0.31, 8.5.51 or 7.0.100 or later will need to make small changes to their configurations.
Cuando se usa el Apache JServ Protocol (AJP), se debe tener cuidado cuando se confía en las conexiones entrantes a Apache Tomcat. Tomcat trata las conexiones de AJP como teniéndoles la mayor confianza que, por ejemplo, una conexión HTTP similar. Si tales conexiones están disponibles para un atacante, pueden ser explotadas de manera sorprendente. En Apache Tomcat versiones 9.0.0.M1 hasta 9.0.0.30, versiones 8.5.0 hasta 8.5.50 y versiones 7.0.0 hasta 7.0.99, Tomcat se envió con un conector de AJP habilitado por defecto que escuchaba sobre todas las direcciones IP configuradas. Se esperaba (y se recomienda en la guía de seguridad) que este conector sea deshabilitado si no es requerido. Este reporte de vulnerabilidad identificó un mecanismo que permitía: - devolver archivos arbitrarios desde cualquier lugar de la aplicación web - procesar cualquier archivo en la aplicación web como JSP. Además, si la aplicación web permitía cargar archivos y almacenarlos dentro de la aplicación web (o el atacante fue capaz de controlar el contenido de la aplicación web por otros medios) y esto, junto con la capacidad de procesar un archivo como JSP, hizo posible una ejecución de código remota. Es importante notar que la mitigación solo es requerida si un puerto AJP es accesible por usuarios no confiables. Los usuarios que deseen adoptar un enfoque de defensa en profundidad y bloquear el vector que permite la devolución de archivos arbitrarios y una ejecución como JSP pueden actualizar a Apache Tomcat versiones 9.0.31, 8.5.51 o 7.0.100 o posterior. Se realizaron un número de cambios en la configuración predeterminada del conector AJP en la versión 9.0.31 para fortalecer la configuración predeterminada. Es probable que los usuarios que actualicen a versiones 9.0.31, 8.5.51 o 7.0.100 o posterior necesitarán llevar a cabo pequeños cambios en sus configuraciones.
CVE-2020-1938 is a file read/inclusion vulnerability in the AJP connector in Apache Tomcat. This is enabled by default with a default configuration port of 8009. A remote, unauthenticated attacker could exploit this vulnerability to read web application files from a vulnerable server. In instances where the vulnerable server allows file uploads, an attacker could upload malicious JavaServer Pages (JSP) code within a variety of file types and trigger this vulnerability to gain remote code execution (RCE).
Apache Tomcat treats Apache JServ Protocol (AJP) connections as having higher trust than, for example, a similar HTTP connection. If such connections are available to an attacker, they can be exploited.
CVSS Scores
SSVC
- Decision:-
Timeline
- 2019-12-02 CVE Reserved
- 2020-02-20 First Exploit
- 2020-02-24 CVE Published
- 2022-03-03 Exploited in Wild
- 2022-03-17 KEV Due Date
- 2024-08-04 CVE Updated
- 2024-11-10 EPSS Updated
CWE
- CWE-285: Improper Authorization
CAPEC
References (71)
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Apache Search vendor "Apache" | Geode Search vendor "Apache" for product "Geode" | 1.12.0 Search vendor "Apache" for product "Geode" and version "1.12.0" | - |
Affected
| ||||||
Apache Search vendor "Apache" | Tomcat Search vendor "Apache" for product "Tomcat" | >= 7.0.0 <= 7.0.99 Search vendor "Apache" for product "Tomcat" and version " >= 7.0.0 <= 7.0.99" | - |
Affected
| ||||||
Apache Search vendor "Apache" | Tomcat Search vendor "Apache" for product "Tomcat" | >= 8.5.0 <= 8.5.50 Search vendor "Apache" for product "Tomcat" and version " >= 8.5.0 <= 8.5.50" | - |
Affected
| ||||||
Apache Search vendor "Apache" | Tomcat Search vendor "Apache" for product "Tomcat" | >= 9.0.0 <= 9.0.30 Search vendor "Apache" for product "Tomcat" and version " >= 9.0.0 <= 9.0.30" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 30 Search vendor "Fedoraproject" for product "Fedora" and version "30" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 31 Search vendor "Fedoraproject" for product "Fedora" and version "31" | - |
Affected
| ||||||
Fedoraproject Search vendor "Fedoraproject" | Fedora Search vendor "Fedoraproject" for product "Fedora" | 32 Search vendor "Fedoraproject" for product "Fedora" and version "32" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Agile Engineering Data Management Search vendor "Oracle" for product "Agile Engineering Data Management" | 6.2.1.0 Search vendor "Oracle" for product "Agile Engineering Data Management" and version "6.2.1.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Agile Plm Search vendor "Oracle" for product "Agile Plm" | 9.3.3 Search vendor "Oracle" for product "Agile Plm" and version "9.3.3" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Agile Plm Search vendor "Oracle" for product "Agile Plm" | 9.3.5 Search vendor "Oracle" for product "Agile Plm" and version "9.3.5" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Agile Plm Search vendor "Oracle" for product "Agile Plm" | 9.3.6 Search vendor "Oracle" for product "Agile Plm" and version "9.3.6" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Element Manager Search vendor "Oracle" for product "Communications Element Manager" | 8.1.1 Search vendor "Oracle" for product "Communications Element Manager" and version "8.1.1" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Element Manager Search vendor "Oracle" for product "Communications Element Manager" | 8.2.0 Search vendor "Oracle" for product "Communications Element Manager" and version "8.2.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Element Manager Search vendor "Oracle" for product "Communications Element Manager" | 8.2.1 Search vendor "Oracle" for product "Communications Element Manager" and version "8.2.1" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Communications Instant Messaging Server Search vendor "Oracle" for product "Communications Instant Messaging Server" | 10.0.1.4.0 Search vendor "Oracle" for product "Communications Instant Messaging Server" and version "10.0.1.4.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Health Sciences Empirica Inspections Search vendor "Oracle" for product "Health Sciences Empirica Inspections" | 1.0.1.2 Search vendor "Oracle" for product "Health Sciences Empirica Inspections" and version "1.0.1.2" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Health Sciences Empirica Signal Search vendor "Oracle" for product "Health Sciences Empirica Signal" | 7.3.3 Search vendor "Oracle" for product "Health Sciences Empirica Signal" and version "7.3.3" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Hospitality Guest Access Search vendor "Oracle" for product "Hospitality Guest Access" | 4.2.0 Search vendor "Oracle" for product "Hospitality Guest Access" and version "4.2.0" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Hospitality Guest Access Search vendor "Oracle" for product "Hospitality Guest Access" | 4.2.1 Search vendor "Oracle" for product "Hospitality Guest Access" and version "4.2.1" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Instantis Enterprisetrack Search vendor "Oracle" for product "Instantis Enterprisetrack" | >= 17.1 <= 17.3 Search vendor "Oracle" for product "Instantis Enterprisetrack" and version " >= 17.1 <= 17.3" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Mysql Enterprise Monitor Search vendor "Oracle" for product "Mysql Enterprise Monitor" | <= 4.0.12 Search vendor "Oracle" for product "Mysql Enterprise Monitor" and version " <= 4.0.12" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Mysql Enterprise Monitor Search vendor "Oracle" for product "Mysql Enterprise Monitor" | >= 8.0.0 <= 8.0.20 Search vendor "Oracle" for product "Mysql Enterprise Monitor" and version " >= 8.0.0 <= 8.0.20" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Siebel Ui Framework Search vendor "Oracle" for product "Siebel Ui Framework" | <= 20.5 Search vendor "Oracle" for product "Siebel Ui Framework" and version " <= 20.5" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Transportation Management Search vendor "Oracle" for product "Transportation Management" | 6.3.7 Search vendor "Oracle" for product "Transportation Management" and version "6.3.7" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Workload Manager Search vendor "Oracle" for product "Workload Manager" | 12.2.0.1 Search vendor "Oracle" for product "Workload Manager" and version "12.2.0.1" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Workload Manager Search vendor "Oracle" for product "Workload Manager" | 18c Search vendor "Oracle" for product "Workload Manager" and version "18c" | - |
Affected
| ||||||
Oracle Search vendor "Oracle" | Workload Manager Search vendor "Oracle" for product "Workload Manager" | 19c Search vendor "Oracle" for product "Workload Manager" and version "19c" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 8.0 Search vendor "Debian" for product "Debian Linux" and version "8.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 9.0 Search vendor "Debian" for product "Debian Linux" and version "9.0" | - |
Affected
| ||||||
Debian Search vendor "Debian" | Debian Linux Search vendor "Debian" for product "Debian Linux" | 10.0 Search vendor "Debian" for product "Debian Linux" and version "10.0" | - |
Affected
| ||||||
Opensuse Search vendor "Opensuse" | Leap Search vendor "Opensuse" for product "Leap" | 15.1 Search vendor "Opensuse" for product "Leap" and version "15.1" | - |
Affected
| ||||||
Blackberry Search vendor "Blackberry" | Good Control Search vendor "Blackberry" for product "Good Control" | <= 5.2.58.38 Search vendor "Blackberry" for product "Good Control" and version " <= 5.2.58.38" | - |
Affected
| ||||||
Blackberry Search vendor "Blackberry" | Workspaces Server Search vendor "Blackberry" for product "Workspaces Server" | 7.0.1 Search vendor "Blackberry" for product "Workspaces Server" and version "7.0.1" | - |
Affected
| ||||||
Blackberry Search vendor "Blackberry" | Workspaces Server Search vendor "Blackberry" for product "Workspaces Server" | 7.1.2 Search vendor "Blackberry" for product "Workspaces Server" and version "7.1.2" | - |
Affected
| ||||||
Blackberry Search vendor "Blackberry" | Workspaces Server Search vendor "Blackberry" for product "Workspaces Server" | 8.1.0 Search vendor "Blackberry" for product "Workspaces Server" and version "8.1.0" | - |
Affected
| ||||||
Blackberry Search vendor "Blackberry" | Workspaces Server Search vendor "Blackberry" for product "Workspaces Server" | 9.0 Search vendor "Blackberry" for product "Workspaces Server" and version "9.0" | - |
Affected
| ||||||
Netapp Search vendor "Netapp" | Data Availability Services Search vendor "Netapp" for product "Data Availability Services" | - | - |
Affected
| ||||||
Netapp Search vendor "Netapp" | Oncommand System Manager Search vendor "Netapp" for product "Oncommand System Manager" | >= 3.0.0 <= 3.1.3 Search vendor "Netapp" for product "Oncommand System Manager" and version " >= 3.0.0 <= 3.1.3" | - |
Affected
|