CVE-2021-27850

CRITICAL EXPLOITED IN THE WILD NUCLEI

Apache Tapestry 5.4.0-5.6.2 and 5.7.0 - Unauthenticated Remote Code Execution via Asset File URL Blacklist Bypass

Title source: llm
STIX 2.1

Exploitation Summary

CVE-2021-27850 has been observed exploited in the wild (reported by VulnCheck KEV, InTheWild.io). EIP tracks 5 public exploits from researchers including kahla-sec, dorkerdevil, Ovi3, including a Metasploit module auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key. A Nuclei detection template is also available.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2021-27850, an unauthenticated RCE vulnerability in Apache Tapestry. The exploit generates a signed payload using a leaked HMAC key and leverages ysoserial for command execution.

Description

A critical unauthenticated remote code execution vulnerability was found all recent versions of Apache Tapestry. The affected versions include 5.4.5, 5.5.0, 5.6.2 and 5.7.0. The vulnerability I have found is a bypass of the fix for CVE-2019-0195. Recap: Before the fix of CVE-2019-0195 it was possible to download arbitrary class files from the classpath by providing a crafted asset file URL. An attacker was able to download the file `AppModule.class` by requesting the URL `http://localhost:8080/assets/something/services/AppModule.class` which contains a HMAC secret key. The fix for that bug was a blacklist filter that checks if the URL ends with `.class`, `.properties` or `.xml`. Bypass: Unfortunately, the blacklist solution can simply be bypassed by appending a `/` at the end of the URL: `http://localhost:8080/assets/something/services/AppModule.class/` The slash is stripped after the blacklist check and the file `AppModule.class` is loaded into the response. This class usually contains the HMAC secret key which is used to sign serialized Java objects. With the knowledge of that key an attacker can sign a Java gadget chain that leads to RCE (e.g. CommonsBeanUtils1 from ysoserial). Solution for this vulnerability: * For Apache Tapestry 5.4.0 to 5.6.1, upgrade to 5.6.2 or later. * For Apache Tapestry 5.7.0, upgrade to 5.7.1 or later.

Exploits (5)

nomisec WORKING POC 5 stars
by kahla-sec · remote-auth
https://github.com/kahla-sec/CVE-2021-27850_POC

This repository contains a functional exploit for CVE-2021-27850, an unauthenticated RCE vulnerability in Apache Tapestry. The exploit generates a signed payload using a leaked HMAC key and leverages ysoserial for command execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tapestry (all recent versions)
No auth needed
Prerequisites: Leaked HMAC key from AppModule.class · ysoserial.jar
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 3 stars
by dorkerdevil · local
https://github.com/dorkerdevil/CVE-2021-27850_POC

This PoC exploits CVE-2021-27850, an unauthenticated RCE vulnerability in Apache Tapestry. It generates a signed payload using a leaked HMAC key and executes arbitrary commands via deserialization with ysoserial.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache Tapestry (all recent versions)
No auth needed
Prerequisites: Leaked HMAC key from AppModule.class · ysoserial.jar · Java runtime
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WORKING POC 2 stars
by Ovi3 · poc
https://github.com/Ovi3/CVE_2021_27850_POC

This repository contains a proof-of-concept exploit for CVE-2021-27850, targeting Apache Tapestry via deserialization. It leverages ysoserial payloads and a custom gadget chain to achieve remote code execution (RCE) or DNS exfiltration.

Classification
Working Poc 95%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Reliable
Target: Apache Tapestry (version not explicitly specified)
No auth needed
Prerequisites: Valid Tapestry HMAC key · Ability to intercept/modify POST requests
devstral-2 · analyzed Feb 16, 2026 Full analysis →
nomisec WRITEUP
by novysodope · local
https://github.com/novysodope/CVE-2021-27850

This repository contains a writeup for CVE-2021-27850, which involves a deserialization vulnerability in ysoserial. The README references an external blog post for details.

Classification
Writeup 80%
Attack Type
Deserialization
Complexity
Moderate
Reliability
Theoretical
Target: ysoserial (version not specified)
No auth needed
Prerequisites: Access to a vulnerable ysoserial instance
devstral-2 · analyzed Feb 16, 2026 Full analysis →
metasploit WORKING POC
by Johannes Moritz · rubypoc
https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key.rb

This Metasploit module exploits CVE-2021-27850 to leak the HMAC secret key from Apache Tapestry by downloading a targeted Java class file and extracting the key using a specific regex pattern.

Classification
Working Poc 95%
Attack Type
Info Leak
Complexity
Moderate
Reliability
Reliable
Target: Apache Tapestry (versions affected by CVE-2021-27850)
No auth needed
Prerequisites: Target must be running a vulnerable version of Apache Tapestry · Target class file must be accessible via HTTP
devstral-2 · analyzed Feb 16, 2026 Full analysis →

Nuclei Templates (1)

Apache Tapestry - Remote Code Execution
CRITICALby pdteam

References (3)

Core 3
Core References
Exploit, Mailing List, Third Party Advisory mailing-list x_refsource_mlist
http://www.openwall.com/lists/oss-security/2021/04/15/1
Third Party Advisory x_refsource_confirm
https://security.netapp.com/advisory/ntap-20210528-0002/

Scores

CVSS v3 9.8
EPSS 0.9409
EPSS Percentile 99.8%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Details

VulnCheck KEV 2023-12-03
InTheWild.io 2021-04-12
CWE
CWE-200 CWE-502
Status published
Products (2)
apache/tapestry 5.4.0 - 5.6.2
org.apache.tapestry/tapestry-core 5.4.0 - 5.6.3Maven
Published Apr 15, 2021
Tracked Since Feb 18, 2026