CVE-2020-9484

HIGH NUCLEI LAB

Apache Tomcat < 7.0.108 - Insecure Deserialization

Title source: rule
STIX 2.1

Exploitation Summary

EIP tracks 20 public exploits for CVE-2020-9484. PoCs published by threedr3am, masahiro331, IdealDreamLast. A Nuclei detection template is also available.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2020-9484, targeting Apache Tomcat's session cluster synchronization feature. The exploit leverages deserialization vulnerabilities in unencrypted session synchronization to achieve remote code execution (RCE) on vulnerable Tomcat instances.

Description

When using Apache 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 if a) an attacker is able to control the contents and name of a file on the server; and b) the server is configured to use the PersistenceManager with a FileStore; and c) 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; and d) the attacker knows the relative file path from the storage location used by FileStore to the file the attacker has control over; then, using a specifically crafted request, the attacker will be able to trigger remote code execution via deserialization of the file under their control. Note that all of conditions a) to d) must be true for the attack to succeed.

Exploits (20)

nomisec WORKING POC 212 stars
by threedr3am · poc
https://github.com/threedr3am/tomcat-cluster-session-sync-exp

This repository contains a functional exploit for CVE-2020-9484, targeting Apache Tomcat's session cluster synchronization feature. The exploit leverages deserialization vulnerabilities in unencrypted session synchronization to achieve remote code execution (RCE) on vulnerable Tomcat instances.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat with session cluster synchronization enabled (without EncryptInterceptor)
No auth needed
Prerequisites: Tomcat with session cluster synchronization enabled · No EncryptInterceptor configured · Accessible synchronization endpoint · JDK version < 8u20 or 7u21
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 127 stars
by masahiro331 · poc
https://github.com/masahiro331/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, a path traversal vulnerability in Apache Tomcat. The exploit leverages a malicious JSESSIONID cookie to achieve remote code execution (RCE) by loading a malicious Groovy library.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 10.0.0-M4
No auth needed
Prerequisites: Docker environment · Apache Tomcat 10.0.0-M4 with Groovy library
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 52 stars
by IdealDreamLast · poc
https://github.com/IdealDreamLast/CVE-2020-9484

This repository demonstrates a working exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. It includes steps to generate a payload using ysoserial and execute arbitrary commands via session manipulation.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 7.0.61
No auth needed
Prerequisites: Apache Tomcat 7.0.61 with vulnerable configuration · ysoserial tool · Kali Linux environment
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 34 stars
by PenTestical · poc
https://github.com/PenTestical/CVE-2020-9484

This repository contains a functional exploit script for CVE-2020-9484, which leverages deserialization in Apache Tomcat 9.0.27 to achieve remote code execution. The script uses ysoserial to generate payloads and sends crafted requests to exploit the vulnerability.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 9.0.27
No auth needed
Prerequisites: ysoserial.jar · Python3 HTTP server · Netcat listener · JDK 8
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec SCANNER 32 stars
by osamahamad · poc
https://github.com/osamahamad/CVE-2020-9484-Mass-Scan

This repository contains a bash script that scans a list of URLs for potential vulnerability to CVE-2020-9484, an Apache Tomcat deserialization flaw leading to RCE. It checks for HTTP 500 responses and the presence of 'java' in the response to identify vulnerable hosts.

Classification
Scanner 95%
Attack Type
Deserialization
Complexity
Trivial
Reliability
Moderate
Target: Apache Tomcat (versions affected by CVE-2020-9484)
No auth needed
Prerequisites: List of target URLs · Network access to target hosts
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 24 stars
by 0dayCTF · poc
https://github.com/0dayCTF/CVE-2020-9484

This repository contains a functional Python exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. The exploit uses ysoserial to generate payloads for remote code execution via a reverse shell, targeting JDK 11 environments.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (versions affected by CVE-2020-9484)
No auth needed
Prerequisites: Java 11 installed on the attacker's machine · Access to ysoserial-all.jar · Network connectivity to the target Tomcat server
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 16 stars
by d3fudd · poc
https://github.com/d3fudd/CVE-2020-9484_Exploit

This repository contains a functional exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat that can lead to remote code execution (RCE). The exploit uses ysoserial to generate malicious payloads and leverages file upload via JSESSIONID cookie manipulation to achieve RCE.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 10.x < 10.0.0-M5, 9.x < 9.0.35, 8.x < 8.5.55, 7.x < 7.0.104
No auth needed
Prerequisites: ysoserial.jar · access to target's Tomcat instance · network connectivity to attacker's machine
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 13 stars
by VICXOR · poc
https://github.com/VICXOR/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, an Apache Tomcat RCE vulnerability via deserialization. The script uses ysoserial to generate a malicious payload and leverages session manipulation to achieve remote code execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (versions affected by CVE-2020-9484)
No auth needed
Prerequisites: ysoserial.jar · netcat listener · target server running vulnerable Apache Tomcat
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 6 stars
by anjai94 · poc
https://github.com/anjai94/CVE-2020-9484-exploit

This repository contains a functional exploit for CVE-2020-9484, leveraging Apache Tomcat's session deserialization vulnerability to achieve remote code execution. The exploit uses ysoserial to generate a malicious payload and delivers it via a crafted session file upload.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (versions affected by CVE-2020-9484)
No auth needed
Prerequisites: Target must have file upload functionality · Knowledge of file storage path on the server · ysoserial.jar for payload generation
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 5 stars
by ColdFusionX · poc
https://github.com/ColdFusionX/CVE-2020-9484

This repository provides a functional exploit PoC for CVE-2020-9484, an Apache Tomcat deserialization vulnerability. It includes a Docker setup to replicate the vulnerable environment and a curl command to trigger the exploit, demonstrating file creation in the tmp directory.

Classification
Working Poc 90%
Attack Type
Deserialization
Complexity
Trivial
Reliability
Reliable
Target: Apache Tomcat 10.0.0-M4
No auth needed
Prerequisites: Docker environment · Vulnerable Tomcat version
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 5 stars
by RepublicR0K · poc
https://github.com/RepublicR0K/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, an Apache Tomcat RCE vulnerability. The exploit manipulates the JSESSIONID cookie to trigger arbitrary file read/write operations, potentially leading to remote code execution.

Classification
Working Poc 90%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Apache Tomcat 10.x < 10.0.0-M5, 9.x < 9.0.35, 8.x < 8.5.55, 7.x < 7.0.104
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Tomcat · Target must have the Groovy library installed
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec SUSPICIOUS 4 stars
by AssassinUKG · poc
https://github.com/AssassinUKG/CVE-2020-9484

The repository lacks actual exploit code and instead directs users to an external YouTube video, which is a common tactic for suspicious or deceptive repositories. No technical details or functional exploit code are provided.

Classification
Suspicious 90%
Attack Type
Other
Complexity
Theoretical
Reliability
Theoretical
Target: unknown
No auth needed
devstral-2 · analyzed Feb 18, 2026 Full analysis →
github WRITEUP 3 stars
by HxDDD · poc
https://github.com/HxDDD/CVE-PoC/tree/main/Apache/(Session Deserialization) CVE-2020-9484.md

This repository provides a detailed technical analysis of CVE-2020-9484, including root cause analysis, exploitation steps using ysoserial, and mitigation strategies. It explains how session deserialization in Apache Tomcat can lead to RCE under specific conditions.

Classification
Writeup 95%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 7.0.0-7.0.103, 8.5.0-8.5.54, 9.0.0.M1-9.0.34, 10.0.0-M1-10.0.0-M4
No auth needed
Prerequisites: Persistent Manager with FileStore enabled · sessionAttributeValueClassNameFilter misconfiguration · ability to control session file content
devstral-2 · analyzed Feb 27, 2026 Full analysis →
nomisec WORKING POC 1 stars
by savsch · poc
https://github.com/savsch/PoC_CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. The exploit leverages yoserial to generate malicious session files, which are uploaded to a vulnerable server and executed via crafted JSESSIONID cookies.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 10.x < 10.0.0-M5, 9.x < 9.0.35, 8.x < 8.5.55, 7.x < 7.0.104
No auth needed
Prerequisites: PersistentManager with FileStore enabled · Ability to upload files with arbitrary extensions · Presence of deserialization gadgets (e.g., clojure or commons-collections) in the classpath
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC 1 stars
by qerogram · poc
https://github.com/qerogram/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. The exploit generates a malicious session file and leverages it to achieve remote code execution (RCE) on vulnerable Tomcat instances.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 9.0.16
No auth needed
Prerequisites: Vulnerable Tomcat version (9.0.16) · Network access to the target · Ability to write session files to the Tomcat directory
devstral-2 · analyzed Feb 18, 2026 Full analysis →
gitlab WORKING POC
by milo2012 · poc
https://gitlab.com/milo2012/cve-2020-9484

This repository provides a functional exploit for CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. It includes a Dockerfile to set up a vulnerable environment and detailed steps to achieve remote code execution via session file uploads and manipulation.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54, 7.0.0 to 7.0.103
No auth needed
Prerequisites: file upload feature permitting .session files · presence of gadgets like groovy*.jar or CommonsCollections*.jar
devstral-2 · analyzed Feb 23, 2026 Full analysis →
nomisec WORKING POC
by Disturbante · poc
https://github.com/Disturbante/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, leveraging deserialization via ysoserial to achieve remote code execution (RCE) on a vulnerable Apache Tomcat server. The exploit uploads a malicious payload, triggers its execution via a crafted JSESSIONID cookie, and establishes a reverse shell.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (specific version not specified, but likely 9.x or earlier)
No auth needed
Prerequisites: Java 11 · ysoserial.jar · access to a vulnerable Tomcat instance · network connectivity to the target
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by DXY0411 · poc
https://github.com/DXY0411/CVE-2020-9484

This repository contains a functional exploit for CVE-2020-9484, demonstrating a deserialization vulnerability in Apache Tomcat. The PoC includes a Dockerized environment for testing, with scripts to register a user, upload a malicious file, and trigger the exploit via a crafted JSESSIONID cookie.

Classification
Working Poc 95%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (version not explicitly specified, but likely affected versions)
Auth required
Prerequisites: Docker environment · Network access to target · Ability to register a user on the target system
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec SCANNER
by DanQMoo · poc
https://github.com/DanQMoo/CVE-2020-9484-Scanner

This repository contains a bash script that scans for CVE-2020-9484 by sending a crafted HTTP request with a malicious JSESSIONID cookie to a list of URLs. It checks for the presence of the vulnerability but does not exploit it for RCE.

Classification
Scanner 90%
Attack Type
Info Leak
Complexity
Trivial
Reliability
Reliable
Target: Apache Tomcat (Groovy template engine)
No auth needed
Prerequisites: List of target URLs
devstral-2 · analyzed Feb 18, 2026 Full analysis →
nomisec WORKING POC
by seanachao · poc
https://github.com/seanachao/CVE-2020-9484

This repository contains a Python script that automates the exploitation of CVE-2020-9484, a deserialization vulnerability in Apache Tomcat. It uses a Java-based exploit (tomcat-cluster-session-sync-exp) to trigger DNS lookups via ceye.io for vulnerability verification.

Classification
Working Poc 90%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Tomcat (versions affected by CVE-2020-9484)
No auth needed
Prerequisites: Java runtime environment · Access to the target Tomcat instance · ceye.io account for DNS callback verification
devstral-2 · analyzed Feb 18, 2026 Full analysis →

Nuclei Templates (1)

Apache Tomcat Remote Command Execution
HIGHby dwisiswant0
Shodan: title:"Apache Tomcat" || http.title:"apache tomcat" || http.html:"apache tomcat" || cpe:"cpe:2.3:a:apache:tomcat"
FOFA: body="apache tomcat" || title="apache tomcat"

References (42)

Core 42
Core References
Third Party Advisory mailing-list x_refsource_mlist
https://lists.debian.org/debian-lts-announce/2020/05/msg00020.html
Third Party Advisory vendor-advisory x_refsource_suse
http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00057.html
Third Party Advisory mailing-list x_refsource_mlist
https://lists.debian.org/debian-lts-announce/2020/05/msg00026.html
Mailing List, Third Party Advisory mailing-list x_refsource_fulldisc
http://seclists.org/fulldisclosure/2020/Jun/6
Third Party Advisory vendor-advisory x_refsource_gentoo
https://security.gentoo.org/glsa/202006-21
Mailing List, Third Party Advisory mailing-list x_refsource_mlist
https://lists.debian.org/debian-lts-announce/2020/07/msg00010.html
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpujul2020.html
Third Party Advisory x_refsource_confirm
https://security.netapp.com/advisory/ntap-20200528-0005/
Third Party Advisory vendor-advisory x_refsource_debian
https://www.debian.org/security/2020/dsa-4727
Third Party Advisory vendor-advisory x_refsource_ubuntu
https://usn.ubuntu.com/4448-1/
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpuoct2020.html
Third Party Advisory x_refsource_confirm
https://kc.mcafee.com/corporate/index?page=content&id=SB10332
Third Party Advisory vendor-advisory x_refsource_ubuntu
https://usn.ubuntu.com/4596-1/
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpujan2021.html
Mailing List, Third Party Advisory mailing-list x_refsource_mlist
http://www.openwall.com/lists/oss-security/2021/03/01/2
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpuApr2021.html
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com//security-alerts/cpujul2021.html
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpuoct2021.html
Patch, Third Party Advisory x_refsource_misc
https://www.oracle.com/security-alerts/cpujan2022.html

Scores

CVSS v3 7.0
EPSS 0.9333
EPSS Percentile 99.8%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Lab Environment

COMMUNITY
Community Lab
docker pull tomcat:10.0.0-M4-jdk8-openjdk
docker pull tomcat:9.0.34-jdk11-corretto
+16 more repos

Details

CWE
CWE-502
Status published
Products (18)
apache/tomcat 9.0.0 milestone1 (27 CPE variants)
apache/tomcat 10.0.0 milestone1 (4 CPE variants)
apache/tomcat 7.0.0 - 7.0.108
canonical/ubuntu_linux 16.04
canonical/ubuntu_linux 20.04
debian/debian_linux 8.0
debian/debian_linux 9.0
debian/debian_linux 10.0
fedoraproject/fedora 31
fedoraproject/fedora 32
... and 8 more
Published May 20, 2020
Tracked Since Feb 18, 2026