CVE-2026-21448Bagisto是一款开源的Laravel电商平台。该漏洞存在于Bagisto 2.3.10之前的版本中,是一个严重的服务器端模板注入(Server-Side Template Injection,SSTI)漏洞。攻击者可以利用该漏洞在客户下单流程的地址填写环节,通过在地址字段中注入恶意模板代码,当管理员在后台查看订单或客户地址信息时,注入的恶意代码将在服务器端被执行。由于该漏洞无需认证即可利用,且攻击复杂度低,可直接导致远程代码执行(RCE),使得攻击者可以完全控制目标服务器,执行任意系统命令、安装后门、窃取敏感数据等恶意操作。该漏洞CVSS评分高达9.8,属于严重级别,对使用受影响版本Bagisto的企业和个人用户构成重大安全威胁。
该漏洞属于经典的服务器端模板注入(SSTI)漏洞。在Bagisto电商平台中,客户在下单时需要填写收货地址信息。系统将客户提交的地址数据存储后,当管理员在后台管理界面查看订单详情或客户地址时,会将这些数据渲染到模板视图中。
漏洞产生的根本原因在于系统对用户输入的地址数据缺乏充分的输入验证和输出编码。当客户在地址字段中输入类似{{7*7}}或{{system('whoami')}}等Blade模板语法时,这些内容会被当作模板代码在服务器端解析执行。攻击者可以通过构造特定的Payload,利用Laravel Blade模板引擎的特性执行系统命令、读取文件、甚至获取服务器完全控制权。
利用此漏洞的典型攻击流程是:首先以普通客户身份在订单地址表单中注入恶意模板代码(如{{$_GET[cmd]}}或{{file_get_contents('/etc/passwd')}}等),然后诱导管理员访问相关管理页面触发代码执行。由于攻击发生在服务器端,攻击者可以绕过客户端的所有安全防护措施,直接在服务器上下文中执行任意代码。