🚨 CVE-2025-53833 — Critical ⚠️ SSTI ➜ RCE in LaRecipe (Versions < 2.8.1)
✨ 功能特性
LaRecipe 本身是用于文档管理的工具,但此处我们关注的是其受影响版本中存在的安全缺陷,以及该漏洞所具有的攻击特性:
- 无需认证:攻击者可以在不提供任何用户凭证的情况下,直接访问易受攻击的端点。
- 模板注入:LaRecipe 在渲染文档模板时,未能对用户提供的输入进行充分的清理和验证。
- 任意代码执行:攻击者可以通过注入特定的模板语法(如
{{ system('id') }})来执行操作系统级别的命令。 - 敏感信息泄露:成功利用漏洞后,攻击者可以读取服务器上的任意文件,特别是包含数据库密码、API 密钥和应用密钥的
.env文件。 - 权限提升:在Web服务器权限的基础上,攻击者可能进一步利用获得的凭证或系统漏洞,提升权限甚至获得服务器根访问权限。
📖 使用说明与漏洞利用分析
基础漏洞利用示例
攻击者可以通过向 LaRecipe 的文档渲染路由发送特制的 HTTP 请求来利用此漏洞。核心问题在于,LaRecipe 将用户可控的数据直接传递给了模板引擎进行解析,而没有任何过滤。
假设一个易受攻击的路由是 /docs/{slug},攻击者可以尝试将 slug 参数设置为一个恶意的模板表达式:
GET /docs/{{system('whoami')}} HTTP/1.1
Host: target-website.com
如果服务器存在漏洞,它可能会执行 system('whoami') 命令,并将Web服务器的用户名返回在响应页面中。更进一步的攻击可以读取敏感文件:
GET /docs/{{file_get_contents('/.env')}} HTTP/1.1
Host: target-website.com
攻击场景复现
攻击流程通常如下:
- 侦察:攻击者识别出目标网站正在运行一个版本低于 2.8.1 的 LaRecipe 服务。
- 探测:攻击者向文档路由(如
/docs/{{7*7}})发送请求,如果响应中包含49,则确认存在模板注入漏洞。 - 利用:确认漏洞后,攻击者使用更复杂的模板语法来执行系统命令或读取文件。
- 权限维持与横向移动:利用获取的
.env文件中的数据库密码或云服务密钥,攻击者可以进一步入侵数据库或其他关联系统。
🧩 漏洞总结
| 类别 | 详情 |
|---|---|
| 漏洞类型 | 服务器端模板注入 (SSTI) ➜ 远程代码执行 (RCE) |
| 攻击范围 | 未经身份验证的远程攻击者 |
| 利用入口 | 公开的文档渲染端点 |
| 修复方案 | 立即升级至 LaRecipe 2.8.1 或更高版本 |
| 紧急程度 | 严重 (Critical) – 建议立即采取行动 |
🔒 免责声明
此信息仅供教育和防御目的使用。未经适当授权而利用漏洞是非法且不道德的行为。在进行任何形式的安全测试之前,请务必确保您已获得明确的书面许可。作者不对任何滥用所提供内容的行为负责。FINISHED 6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ6oX15Md02Ksw/ATmwV4JsF