0x00 前言
Thymeleaf 是一个 XML/XHTML/HTML5 模板引擎,可用于 Web 与非 Web 环境中的应用开发。它是一个开源的 Java 库,基于 Apache License 2.0 许可,由 Daniel Fernández 创建,该作者还是 Java 加密库 Jasypt 的作者。
Thymeleaf 提供了一个用于整合 Spring MVC 的可选模块,在应用开发中,你可以使用 Thymeleaf 来完全代替 JSP,或其他模板引擎,如 Velocity、FreeMarker 等。
0x01 漏洞描述
由于 Thymeleaf 3.1.1.RELEASE及之前版本中存在沙箱逃逸漏洞,并且 Spring Boot Admin 默认使用 Thymeleaf 进行 HTML 渲染,如果 Spring Boot Admin 服务未对/actuator/env api节点进行身份验证,未经身份验证的攻击者可通过该api节点启用 MailNotifier 功能,并通过服务端模板注入在 Spring Boot Admin 服务器中执行任意代码。
0x02 CVE编号
CVE-2023-38286
0x03 影响范围
de.codecentric:spring-boot-admin-server@[1.0.2, 3.1.1]
de.codecentric:spring-boot-admin@[1.0.2, 3.1.1]
0x04 参考链接
https://nvd.nist.gov/vuln/detail/CVE-2023-38286
https://github.com/p1n93r/SpringBootAdmin-thymeleaf-SSTI
推荐阅读:
WordPress中的XSS通过开放的嵌入自动发现
SSTI模板注入到 RCE
国家信息安全漏洞库CNNVD发布漏洞赏金计划