首页 网络安全 正文

Bolt CMS 服务器端模板注入CVE-2026-71291

摘要

栋科技漏洞库关注到Bolt CMS 中存在的通过未沙盒化的allow_twig 字段渲染进行的服务器端模板注入漏洞,追踪为CVE-2026-71291。

Bolt CMS 是一款基于 Symfony PHP 框架、MIT 协议开源的轻量化现代 CMS,其主打设计师与开发者友好,主打干净架构、极简后台。

一、基本情况

Bolt CMS 基于PHP开发,支持SQLite、MySQL、PostgreSQL数据库,轻量化、缓存完善,访问速度快,漏洞攻击面小于 WordPress。

Bolt CMS 服务器端模板注入CVE-2026-71291

Bolt CMS可使用Composer 部署可容器化运行,模板自由度极高,低配服务器、虚拟主机均可部署,新版完全依托 Symfony 生态开发。

栋科技漏洞库关注到Bolt CMS 中存在的通过未沙盒化的allow_twig 字段渲染进行的服务器端模板注入漏洞,追踪为CVE-2026-71291。

二、漏洞分析

CVE-2026-71291漏洞是存在于 Bolt CMS 相关版本中的安全漏洞,该漏洞可能导致攻击者以web服务器用户的身份实现远程代码执行。

该漏洞源于 Bolt CMS 通过Twig的完整应用程序级环境呈现内容字段值,而无需在代码库中的任何位置注册SandboxExtension。

在src/Entity/Field.php中,getTwigValue()调用shouldBeRenderedAsTwig(),该方法仅在字段定义的allow_twig标志上进行渲染,

并使用正则表达式检查{{、{%或{#;

当为true时,原始字段值通过self::getTwig()->createTemplate($value)->render(['record'=>$this->getContent()])

进行编译和渲染,而不进行沙盒处理。

Bolt自己的绑定config/Bolt/contenttypes.yaml在默认的“pages”contenttype的内容字段上直接设置allow_twig:true。

任何对该内容类型具有编辑权限的用户(标准编辑器角色,而不仅仅是管理员)都可以注入twig有效载荷,

例如“{{['id']|map('passthru')|join}}”,在保存和呈现内容时执行任意操作系统命令,以web服务器用户的身份实现远程代码执行。

三、影响范围

未知

四、修复建议

未知

五、参考链接

暂无



扫描二维码,在手机上阅读
评论
更换验证码
友情链接