8.8
CWE
502
Advisory Published
CVE Published
Advisory Published
Updated

CVE-2020-9484

First published: Wed May 20 2020(Updated: )

A deserialization flaw was discovered in Apache Tomcat's use of a FileStore. An attacker can exploit the flaw if all of the following are true: * An attacker is able to control the contents and name of a file on the server. * The server is configured to use the PersistenceManager with a FileStore. * The PersistenceManager is configured with sessionAttributeValueClassNameFilter="null" (the default unless a SecurityManager is used) or a sufficiently lax filter to allow the attacker-provided object to be deserialized. * The attacker knows the relative file path from the storage location used by FileStore to the file the attacker has control over. If all these conditions are true, the attacker can use a specifically crafted request to trigger Remote Code Execution through deserialization of the file under their control. This flaw affects the following Tomcat versions: 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54, and 7.0.0 to 7.0.103. Upstream commits: Tomcat 10.0: <a href="https://github.com/apache/tomcat/commit/bb33048e3f9b4f2b70e4da2e6c4e34ca89023b1b">https://github.com/apache/tomcat/commit/bb33048e3f9b4f2b70e4da2e6c4e34ca89023b1b</a> Tomcat 9.0: <a href="https://github.com/apache/tomcat/commit/3aa8f28db7efb311cdd1b6fe15a9cd3b167a2222">https://github.com/apache/tomcat/commit/3aa8f28db7efb311cdd1b6fe15a9cd3b167a2222</a> Tomcat 8.5: <a href="https://github.com/apache/tomcat/commit/ec08af18d0f9ddca3f2d800ef66fe7fd20afef2f">https://github.com/apache/tomcat/commit/ec08af18d0f9ddca3f2d800ef66fe7fd20afef2f</a> Tomcat 7.0: <a href="https://github.com/apache/tomcat/commit/53e30390943c18fca0c9e57dbcc14f1c623cfd06">https://github.com/apache/tomcat/commit/53e30390943c18fca0c9e57dbcc14f1c623cfd06</a>

Credit: security@apache.org security@apache.org

Affected SoftwareAffected VersionHow to fix
redhat/tomcat6<0:6.0.24-115.el6_10
0:6.0.24-115.el6_10
redhat/tomcat<0:7.0.76-12.el7_8
0:7.0.76-12.el7_8
redhat/tomcat7<0:7.0.70-40.ep7.el6
0:7.0.70-40.ep7.el6
redhat/tomcat8<0:8.0.36-44.ep7.el6
0:8.0.36-44.ep7.el6
redhat/tomcat-native<0:1.2.23-22.redhat_22.ep7.el6
0:1.2.23-22.redhat_22.ep7.el6
redhat/tomcat7<0:7.0.70-40.ep7.el7
0:7.0.70-40.ep7.el7
redhat/tomcat8<0:8.0.36-44.ep7.el7
0:8.0.36-44.ep7.el7
redhat/tomcat-native<0:1.2.23-22.redhat_22.ep7.el7
0:1.2.23-22.redhat_22.ep7.el7
redhat/jws5-tomcat<0:9.0.30-4.redhat_5.1.el6
0:9.0.30-4.redhat_5.1.el6
redhat/jws5-tomcat-native<0:1.2.23-5.redhat_5.el6
0:1.2.23-5.redhat_5.el6
redhat/jws5-tomcat<0:9.0.30-4.redhat_5.1.el7
0:9.0.30-4.redhat_5.1.el7
redhat/jws5-tomcat-native<0:1.2.23-5.redhat_5.el7
0:1.2.23-5.redhat_5.el7
redhat/jws5-tomcat<0:9.0.30-4.redhat_5.1.el8
0:9.0.30-4.redhat_5.1.el8
redhat/jws5-tomcat-native<0:1.2.23-5.redhat_5.el8
0:1.2.23-5.redhat_5.el8
redhat/tomcat<10.0.0
10.0.0
redhat/tomcat<9.0.35
9.0.35
redhat/tomcat<8.5.55
8.5.55
redhat/tomcat<7.0.104
7.0.104
maven/org.apache.tomcat:tomcat-catalina>=7.0.0<7.0.104
7.0.104
maven/org.apache.tomcat:tomcat-catalina>=8.0.0<8.5.55
8.5.55
maven/org.apache.tomcat:tomcat-catalina>=9.0.0<9.0.35
9.0.35
maven/org.apache.tomcat:tomcat-catalina>=10.0.0-M1<=10.0.0-M4
10.0.0-M5
Apache Tomcat>=7.0.0<7.0.108
Apache Tomcat>=8.5.0<8.5.63
Apache Tomcat>=9.0.1<9.0.43
Apache Tomcat=9.0.0-milestone1
Apache Tomcat=9.0.0-milestone10
Apache Tomcat=9.0.0-milestone11
Apache Tomcat=9.0.0-milestone12
Apache Tomcat=9.0.0-milestone13
Apache Tomcat=9.0.0-milestone14
Apache Tomcat=9.0.0-milestone15
Apache Tomcat=9.0.0-milestone16
Apache Tomcat=9.0.0-milestone17
Apache Tomcat=9.0.0-milestone18
Apache Tomcat=9.0.0-milestone19
Apache Tomcat=9.0.0-milestone2
Apache Tomcat=9.0.0-milestone20
Apache Tomcat=9.0.0-milestone21
Apache Tomcat=9.0.0-milestone22
Apache Tomcat=9.0.0-milestone23
Apache Tomcat=9.0.0-milestone24
Apache Tomcat=9.0.0-milestone25
Apache Tomcat=9.0.0-milestone26
Apache Tomcat=9.0.0-milestone27
Apache Tomcat=9.0.0-milestone3
Apache Tomcat=9.0.0-milestone4
Apache Tomcat=9.0.0-milestone5
Apache Tomcat=9.0.0-milestone6
Apache Tomcat=9.0.0-milestone7
Apache Tomcat=9.0.0-milestone8
Apache Tomcat=9.0.0-milestone9
Apache Tomcat=10.0.0-milestone1
Apache Tomcat=10.0.0-milestone2
Apache Tomcat=10.0.0-milestone3
Apache Tomcat=10.0.0-milestone4
Debian Debian Linux=8.0
Debian Debian Linux=9.0
Debian Debian Linux=10.0
openSUSE Leap=15.1
Fedoraproject Fedora=31
Fedoraproject Fedora=32
Canonical Ubuntu Linux=16.04
Canonical Ubuntu Linux=20.04
Oracle Agile Engineering Data Management=6.2.1.0
Oracle Agile PLM=9.3.3
Oracle Agile PLM=9.3.5
Oracle Agile PLM=9.3.6
Oracle Communications Cloud Native Core Binding Support Function=1.10.0
Oracle Communications Cloud Native Core Policy=1.14.0
Oracle Communications Diameter Signaling Router>=8.0.0.0<=8.4.0.5
Oracle Communications Element Manager>=8.2.0<=8.2.2
Oracle Communications Instant Messaging Server=10.0.1.4.0
Oracle Communications Session Report Manager>=8.2.0<=8.2.2
Oracle Communications Session Route Manager>=8.2.0<=8.2.2
Oracle Database=12.2.0.1
Oracle Database=19c
Oracle Database=21c
Oracle Fmw Platform=12.2.1.3.0
Oracle Fmw Platform=12.2.1.4.0
Oracle Hospitality Guest Access=4.2.0
Oracle Hospitality Guest Access=4.2.1
Oracle Instantis Enterprisetrack>=17.1<=17.3
Oracle Managed File Transfer=12.2.1.3.0
Oracle Managed File Transfer=12.2.1.4.0
Oracle Mysql Enterprise Monitor<=8.0.21
Oracle Retail Order Broker=15.0
Oracle Siebel Apps - Marketing<=21.9
Oracle Siebel Ui Framework<=20.12
Oracle Transportation Management=6.3.7
Oracle Workload Manager=12.2.0.1
Oracle Workload Manager=18c
Oracle Workload Manager=19c
McAfee ePolicy Orchestrator=5.9.0
McAfee ePolicy Orchestrator=5.9.1
McAfee ePolicy Orchestrator=5.10.0
McAfee ePolicy Orchestrator=5.10.0-update_1
McAfee ePolicy Orchestrator=5.10.0-update_2
McAfee ePolicy Orchestrator=5.10.0-update_3
IBM Data Risk Manager<=2.0.6
debian/tomcat9
9.0.43-2~deb11u10
9.0.70-2
9.0.95-1

Remedy

Users may configure the PersistenceManager with an appropriate value for sessionAttributeValueClassNameFilter to ensure that only application provided attributes are serialized and deserialized. For more details about the configuration, refer to the Apache Tomcat 9 Configuration Reference https://tomcat.apache.org/tomcat-9.0-doc/config/manager.html.

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Reference Links

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203