CVE-2021-27850
绕过CVE-2019-0195的修复
- 已发布
- 2021年4月15日
- 已更新
- 2024年8月3日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H高 · 未来 30 天
- 百分位
- 99.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在Apache Tapestry的所有近期版本中发现了一个严重的未认证远程代码执行漏洞。受影响版本包括5.4.5、5.5.0、5.6.2和5.7.0。我发现该漏洞是对CVE-2019-0195修复的绕过。回顾:在CVE-2019-0195修复之前,通过提供特制的资源文件URL,可以从类路径中下载任意类文件。攻击者可以通过请求URL `http://localhost:8080/assets/something/services/AppModule.class` 下载包含HMAC密钥的文件 `AppModule.class`。该漏洞的修复方案是使用黑名单过滤器,检查URL是否以 `.class`、`.properties` 或 `.xml` 结尾。绕过:遗憾的是,只需在URL末尾附加一个 `/` 即可轻松绕过黑名单方案:`http://localhost:8080/assets/something/services/AppModule.class/`。斜杠会在黑名单检查后被剥离,然后文件 `AppModule.class` 会被加载到响应中。该类通常包含用于对序列化Java对象进行签名的HMAC密钥。攻击者知道该密钥后,就可以对导致RCE的Java gadget链进行签名(例如来自ysoserial的CommonsBeanUtils1)。此漏洞的解决方案: * 对于Apache Tapestry 5.4.0至5.6.1,请升级到5.6.2或更高版本。 * 对于Apache Tapestry 5.7.0,请升级到5.7.1或更高版本。
来源
4CVE-2021-27850的概念验证,影响Apache Tapestry,可导致未认证的远程代码执行。
针对影响 Apache Tapestry 并导致未经身份验证的远程代码执行的 CVE-2021-27850 的概念验证。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。