CVE-2021-27850 in the critical feed json
Bypass of the fix for CVE-2019-0195
published 5y ago modified 4mo ago also GHSA-mj8x-cpr8-x39h , EUVD-2021-1359
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 93.6%
- EPSS 93.6% chance of exploitation in 30 days, percentile 99.8%
- public exploits
- 1
- Metasploit, plus a Nuclei check
Summary
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.
Patch / fix
- maven org.apache.tapestry:tapestry-core 5.6.3, 5.7.1
- apache tapestry 5.6.2, 5.7.1
Is CVE-2021-27850 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerTimeline
- First public exploit (Metasploit auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key)
- Published
Exploit prediction
93.56% chance of exploitation in the next 30 days, higher than 99.8% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- Metasploit auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key Apache Tapestry HMAC secret key leak metasploit auxiliary, normal rank, 2021-04-15
- Nuclei template Apache Tapestry - Remote Code Execution nuclei detection template
- openwall.com http://www.openwall.com/lists/oss-security/2021/04/15/1 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 10.0 | AV:N/AC:L/Au:N/C:C/I:C/A:C |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.apache.tapestry:tapestry-core | >=5.4.0, <5.6.3 >=5.7.0, <5.7.1 |
5.6.3 5.7.1 |
Affected products
- Apache Software Foundation Apache Tapestry
Classification
References
-
openwall.com
/lists/oss-security/2021/04/15/1
mailing-list, web, exploit, third-party-advisory
-
lists.apache.org
/thread.html/r237ff7f286bda31682c254550c1ebf92b0ec61329b32fbeb2d1c8751%40%3Cusers.tapestry.apache.org%3E
web, mailing-list, vendor-advisory
-
security.netapp.com
/advisory/ntap-20210528-0002/
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-27850
advisory
-
issues.apache.org
/jira/browse/TAP5-2663
web
-
security.netapp.com
/advisory/ntap-20210528-0002
web
Sources
- CVE List CVE-2021-27850
- GitHub Advisory GHSA-mj8x-cpr8-x39h
- NVD CVE-2021-27850
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.