CVE-2021-29440
Grav CMS 1.7.10 中对静态页面的不安全 Twig 处理导致 RCE
- Grav 是一个基于文件的 Web 平台。任何获准创建或编辑页面的管理用户都可以在 front matter 中启用对静态页面的 Twig 处理。由于 Twig 处理器在无沙箱环境下运行,这种行为可被利用来实现任意代码执行并提升实例上的权限。
说明
- 你需要一个有权访问 /admin 仪表盘并拥有页面创建权限的用户。
- front matter 块支持一个名为 process.twig 的指令,该指令会在页面被提供之前对内容执行一次 Twig 渲染处理。
- 虽然此行为默认是禁用的,但拥有基本页面创建权限的用户可以在 front matter 中启用该功能。
- 我们创建一个内容为
{{ system("id") }} 的页面,然后启用 Twig 渲染:Advanced --> Process --> Twig (enable)
- 访问创建的页面以查看我们命令的输出。
用法
- 修改 username、password 和 url 变量,然后运行脚本
环境
- 运行 environment.sh 以在 Apache 上搭建 Grav CMS 1.7.10。
致谢