CVE-2020-15099

HIGH

TYPO3 CMS >=9.0.0 <9.5.20, >=10.0.0 <10.4.6 - Info Disclosure

Title source: llm
STIX 2.1

Exploitation Summary

EIP tracks 2 public exploits for CVE-2020-15099. PoCs published by Dread1ess, StillSoul.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2020-15099, an unauthenticated RCE vulnerability in TYPO3 due to unsafe deserialization in the Form Framework frontend controller. The exploit uses the Guzzle/FW1 gadget chain to achieve remote code execution when the encryptionKey is known.

Description

In TYPO3 CMS greater than or equal to 9.0.0 and less than 9.5.20, and greater than or equal to 10.0.0 and less than 10.4.6, in a case where an attacker manages to generate a valid cryptographic message authentication code (HMAC-SHA1) - either by using a different existing vulnerability or in case the internal encryptionKey was exposed - it is possible to retrieve arbitrary files of a TYPO3 installation. This includes the possibility to fetch typo3conf/LocalConfiguration.php, which again contains the encryptionKey as well as credentials of the database management system being used. In case a database server is directly accessible either via internet or in a shared hosting network, this allows the ability to completely retrieve, manipulate or delete database contents. This includes creating an administration user account - which can be used to trigger remote code execution by injecting custom extensions. This has been patched in versions 9.5.20 and 10.4.6.

Exploits (2)

nomisec WORKING POC 1 stars
by Dread1ess · poc
https://github.com/Dread1ess/CVE-2020-15099

This repository contains a functional exploit for CVE-2020-15099, an unauthenticated RCE vulnerability in TYPO3 due to unsafe deserialization in the Form Framework frontend controller. The exploit uses the Guzzle/FW1 gadget chain to achieve remote code execution when the encryptionKey is known.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: TYPO3 versions 9.0.0 – 9.5.19 (fixed in 9.5.20)
No auth needed
Prerequisites: Known encryptionKey · A TYPO3 frontend form using the Form Framework · PHP 7.2 for payload generation
devstral-2 · analyzed Apr 10, 2026 Full analysis →
nomisec WORKING POC
by StillSoul · poc
https://github.com/StillSoul/CVE-2020-15099

This repository contains a functional exploit for CVE-2020-15099, an unauthenticated RCE vulnerability in TYPO3 due to unsafe deserialization in the Form Framework. The exploit uses the Guzzle/FW1 gadget chain to achieve remote code execution when the encryptionKey is known.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: TYPO3 9.0.0 - 9.5.19 (fixed in 9.5.20)
No auth needed
Prerequisites: known encryptionKey · access to a TYPO3 frontend form · phpggc for gadget chain generation · Docker or PHP 7.2 for payload serialization
devstral-2 · analyzed Mar 15, 2026 Full analysis →

References (2)

Core 2
Core References

Scores

CVSS v3 8.1
EPSS 0.0119
EPSS Percentile 79.3%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

Details

CWE
CWE-20 CWE-200
Status published
Products (3)
typo3/cms 10.0.0 - 10.4.6Packagist
typo3/cms-core 9.0.0 - 9.5.20Packagist
typo3/typo3 9.0.0 - 9.5.20
Published Jul 29, 2020
Tracked Since Feb 18, 2026