Java模板框架 Pebble易受命令注入攻击
编译:代码卫士
摘要
Java 模板引擎 Pebble 易受命令注入漏洞影响,可导致攻击者绕过安全机制并对主机服务器发动命令注入攻击。
Pebble Templates 是为web应用涉及的易用模板系统,具有国际化能力以及多种安全特性如自动逃逸、用于阻止命令执行攻击的拦截列表方法访问验证器,方便快捷。
然而,研究人员发现,攻击者可通过特殊构造的代码和模板文件,绕过Pebble的命令执行防御措施。
当结合 Spring 使用 Pebble时,绕过便起作用。很多Spring 类被注册为 beans,从而能够在运行时动态加载。攻击者使用Java beans 引擎可加载支持类加载的其中一个Spring对象。之后攻击者使用 Jackson 读取XML文件,该文件中包含用于实例化的类标准和用于运行的函数,这样攻击者就获得在服务器上运行任意代码的窗口期。在PoC验证中,研究员使用 Pebble 模板从web加载XML文件并初始化支持在服务器上运行系统命令的Java类。
该漏洞在GitHub上引发讨论。由于该漏洞已分配CVE编号,因此在依赖于Pebble当前版本的企业系统中触发了安全警报。
虽然开发人员正在着手准备修复方案,但由于该项目由社区驱动,因此目前尚不清楚修复方案何时发布。维护人员已提供一些缓解措施。
值得注意的是,利用该漏洞,要求攻击者将恶意Pebble模板上传到服务器中,因此,其中一种防御措施是加固对用户提供内容的安全检查并限制模板上传。
从主流安全开发框架看软件供应链安全保障的落地
开源框架 Drupal 修复多个访问绕过和 CSRF 漏洞
25个恶意JavaScript 库通过NPM官方包仓库分发
https://portswigger.net/daily-swig/java-template-framework-pebble-vulnerable-to-command-injection
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。