🔴 严重 | CVE-2026-28496 — FOSSBilling is a free, open-source billing and cli...
🔴 【深度分析】严重安全漏洞:CVE-2026-28496
CVSS 评分: 严重(9.4)🔴 状态: Deferred 发布时间: 2026-06-23
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-28496 |
| CVSS 评分 | 9.4 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X |
| CWE 分类 | CWE-1336 |
| 发布时间 | 2026-06-23 |
| 状态 | Deferred |
好的,作为一名资深网络安全分析师,我将基于您提供的 NVD 漏洞数据,对 CVE-2026-28496 进行深度分析。
漏洞概述
CVE-2026-28496 是一个存在于 FOSSBilling(一个免费、开源的计费和客户管理系统)中的**服务器端模板注入(SSTI)**漏洞。该漏洞的 CVSS 4.0 评分为 9.4(严重),表明其具有极高的危害性。
漏洞的核心在于,当具有特定权限的管理员用户(能够访问并渲染 Twig 模板的功能,如邮件模板、群发邮件、自定义支付适配器以及 string_render API 端点)操作时,系统在渲染 Twig 模板时未启用沙箱模式。这使得攻击者可以注入恶意的 Twig 表达式,从而突破模板引擎的限制,访问底层的应用上下文和依赖注入容器,最终实现信息泄露和远程代码执行(RCE)。
受影响组件与版本
- 受影响组件: FOSSBilling
- 受影响版本: 所有低于 0.8.0 的版本
- 安全版本: 0.8.0
漏洞原理分析
该漏洞属于 CWE-1336(模板注入),其根本原因是 Twig 模板引擎在渲染用户可控或管理员可控的模板内容时,没有启用安全沙箱。
攻击面:攻击者需要具备管理员权限,能够访问并修改以下功能中的模板内容:
- 邮件模板: 系统发送给用户的邮件内容。
- 群发邮件: 管理员向用户群体发送的邮件。
- 自定义支付适配器: 与支付网关交互的模板。
string_renderAPI 端点: 一个专门用于渲染字符串模板的 API 接口。
注入点:在上述功能中,用户输入的字符串(例如邮件模板中的变量)会被直接传递给 Twig 引擎进行渲染。由于没有沙箱,Twig 引擎会完整地解析和执行这些字符串中的
{{ }}或{% %}标签。利用方式:攻击者可以在这些输入点中注入恶意的 Twig 表达式。例如,利用 Twig 的内置函数(如
_self.env、app等)或通过访问依赖注入容器(DIC)中的服务,来调用 PHP 函数(如system()、exec()、file_get_contents()等)。一个典型的利用链可能是:- 注入
{{ _self.env.registerUndefinedFilterCallback("exec") }}和{{ _self.env.getFilter("id") }}来执行系统命令。 - 或者直接利用容器中的对象来读取敏感文件、数据库信息或执行任意代码。
- 注入
与 GHSA-78x5-c8gw-8279 的关联:官方公告特别指出,该 SSTI 漏洞可以与另一个编号为 GHSA-78x5-c8gw-8279 的漏洞(推测为认证绕过或权限提升漏洞)进行链式利用。这意味着,即使攻击者没有管理员权限,也可能先通过其他漏洞获得管理员权限,然后再利用此 SSTI 漏洞实现 RCE。
影响评估
- CVSS 评分: 9.4(严重)
- 攻击向量: 网络 (AV:N)
- 攻击复杂度: 低 (AC:L)
- 所需权限: 高 (PR:H) - 需要管理员权限。但考虑到可能与其他漏洞链式利用,实际攻击门槛可能降低。
- 影响范围:
- 机密性: 高 (VC:H/SC:H) - 攻击者可以读取服务器上的任意文件、数据库内容以及内存中的敏感信息。
- 完整性: 高 (VI:H/SI:H) - 攻击者可以修改系统文件、数据库记录或植入后门。
- 可用性: 高 (VA:H/SA:H) - 攻击者可以执行任意命令,导致服务中断或完全控制服务器。
总体影响:该漏洞允许拥有管理员权限的攻击者完全接管 FOSSBilling 服务器,进而可能横向移动,影响同一网络环境下的其他系统。如果与其他漏洞结合,风险将急剧上升,可能导致未授权用户直接获得服务器控制权。
修复建议
立即升级:最根本的修复方案是将 FOSSBilling 升级到 0.8.0 或更高版本。该版本已修复此 SSTI 漏洞,很可能通过启用 Twig 沙箱或对模板内容进行更严格的过滤来实现。
临时缓解措施(在无法立即升级时):
- 审计现有模板:立即检查所有现有的邮件模板、群发邮件模板和自定义支付适配器代码,查找是否存在任何可疑的、非预期的 Twig 表达式(如
{{、{%等)。如果发现异常,应立即删除或禁用相关模板。 - 轮换密钥:作为预防措施,立即轮换所有管理员和客户端的 API 令牌(Token)。即使攻击者已经通过其他方式获取了令牌,轮换操作可以切断其后续利用路径。
- 网络层防护:在反向代理或 Web 应用防火墙(WAF)上,配置规则以阻止外部对
/api/system/*路径的访问。这是为了阻断攻击者利用string_renderAPI 端点进行攻击,并防止与 GHSA-78x5-c8gw-8279 漏洞进行链式利用。
- 审计现有模板:立即检查所有现有的邮件模板、群发邮件模板和自定义支付适配器代码,查找是否存在任何可疑的、非预期的 Twig 表达式(如