🎯 CVE-2026-9558 深度技术分析:漏洞根因 · PoC/EXP · 检测指纹

🎯 CVE 全聚合深度分析

CVE-2026-9558 深度技术分析

📊 聚合 3 来源🧪 含 PoC
NVD-LatestGitHub-AdvisoryPoC-in-GitHub

摘要:CVE-2026-9558 是 Mautic 主题引擎中存在的一处服务端模板注入(SSTI)漏洞,CVSS 评分为 9.9,属于严重级别。该漏洞允许具备主题创建或上传权限的认证用户,通过上传恶意构造的 Twig 模板,在托管服务器上执行任意系统命令或读取受限文件,最终实现远程代码执行(RCE)。目前官方已在 7.1.2、6.0.9、5.2.11 及 4.4.20(ELTS)版本中修复此问题。

📌 漏洞概述

CVE-2026-9558 是 Mautic(开源营销自动化平台)主题引擎中的服务端模板注入(SSTI)漏洞。根据 NVD 与 GitHub Advisory(GHSA-9fx4-7cmj-47vg)的公告,该漏洞影响 Mautic 的主题上传与渲染机制,其 CVSS 评分为 9.9(Critical),严重性极高。

漏洞根源于平台在渲染用户上传的 Twig 模板时,未启用沙箱(sandbox),也未对模板内可调用的函数与对象进行严格限制。攻击者只要拥有 core:themes:create 或主题上传权限(通常赋予管理员或营销团队成员),即可构造恶意 Twig 模板,在服务器端进行模板注入,进而实现任意代码执行。

受影响版本包括 Mautic 5.2.x 及以下、6.0.x 及以下、7.1.x 及以下。官方在以下版本中完成修复:7.1.2、6.0.9、5.2.11;对于 Mautic 4.x 用户,修复版本为 4.4.20(ELTS)

🔬 漏洞根因分析

Mautic 基于 Symfony 框架,并使用 Twig 作为模板引擎。平台允许具备权限的用户上传自定义主题包(包含 Twig 模板文件),用于定制邮件、落地页等营销素材。问题在于,Mautic 在渲染这些用户可控模板时,没有将 Twig 环境配置为沙箱模式,也没有禁用危险函数和敏感对象。

Twig 模板引擎本身提供了沙箱扩展(Twig_Extension_Sandbox),可以在编译和执行阶段对模板中使用的标签、过滤器、函数、对象方法进行白名单/黑名单控制。然而,Mautic 的主题渲染流程直接使用了常规的 Twig_Environment,未启用沙箱,也未设置 autoescape 之外的严格安全策略。这导致模板中可以调用 PHP 支持的所有 Twig 函数和扩展,例如:

  • filter 过滤器配合 systempassthrushell_exec 等函数执行系统命令;
  • 通过 sortmap 等过滤器传入回调,触发任意 PHP 函数调用;
  • 直接访问 app.request.server 等全局变量,读取服务器环境配置;
  • 利用 includesource 函数读取任意文件内容。

由于 Twig 模板在呈现时以 PHP 代码形式编译并执行,模板中任意表达式的副作用都会直接发生在服务器进程中,与 Web 服务用户权限一致。攻击者可借此绕过 Mautic 的角色权限边界,从“仅能上传主题”的受限用户提升为可执行任意命令的服务器级攻击者。

从公开的 PoC 脚本(covepseng/cve-2026-9558-poc)来看,攻击者首先通过 Mautic 命令行或安装向导创建具有 core:themes:create 权限的管理员账号,然后上传一个包含恶意 Twig 模板的主题包。该模板利用 Twig 的 filtermap 过滤器调用 PHP 的 system() 函数,例如:

{{ ['id'] | filter('system') }}

这类表达式在正常 Twig 环境中是被禁止的,但由于 Mautic 缺少沙箱,模板会被原样渲染执行,最终在 HTTP 响应中返回 system('id') 的命令输出。经测试,利用该漏洞可执行 whoamicat /etc/passwdcurl 反弹 Shell 等任意命令,完全控制应用服务器。

💥 影响与危害

该漏洞的实际危害极为严重,由于认证用户即可触发,且权限要求相对宽松(仅需主题创建/上传权限),攻击面较大。主要影响包括:

  • 远程代码执行(RCE):攻击者可在服务器上执行任意系统命令,安装后门、创建新用户、修改文件权限、植入挖矿程序等,完全接管服务器。
  • 敏感信息泄露:通过模板读取 /etc/passwd、应用配置文件、数据库凭据、环境变量、AWS 密钥等受限信息,为后续内网渗透提供跳板。
  • 核心配置篡改:直接修改 config/local.php 或数据库连接配置,导致服务瘫痪或持久化后门。
  • 供应链影响:Mautic 作为营销自动化系统,常与客户数据、邮件服务器、CRM 集成。一旦服务器被控制,可能导致大量用户隐私数据泄露,触发合规性风险(GDPR、CCPA 等)。
  • 横向移动风险:服务器通常位于内网或云环境,攻击者获得权限后可进一步探测内网服务,扩大攻击范围。

虽然目前 CISA KEV 尚未收录该漏洞,但漏洞细节和 PoC 已经公开,攻击者可能在短期内将其武器化。安全团队应将其视为已被利用或即将被利用的高危漏洞进行紧急处置。

🛡️ 修复与缓解

官方已发布安全修复版本,建议用户立即升级:

  • Mautic 7.x:升级至 7.1.2 或更高版本;
  • Mautic 6.x:升级至 6.0.9 或更高版本;
  • Mautic 5.x:升级至 5.2.11 或更高版本;
  • Mautic 4.x:通过 ELTS 升级至 4.4.20

官方未提供官方临时补丁(Workaround)。如果无法立即升级,必须采取以下缓解措施以降低风险:

  • 严格限制主题上传/创建权限:将 core:themes:create 权限仅授予少数高度信任的管理员,移除普通用户的主题管理权限。
  • 禁用主题上传功能:在 Mautic 配置中禁止非管理员上传自定义主题,或通过 Web 服务器规则阻止对主题上传接口的访问。
  • 启用 Twig 沙箱:若用户必须上传主题,可自定义 Mautic 的 Twig 环境,启用 SandboxExtension 并配置严格的白名单策略,限制可用的函数、过滤器和标签(但此方案需要开发人员深度改造成本,且可能影响正常主题功能,不建议作为长期方案)。
  • 文件系统防护:确保 Web 服务用户权限最小化,禁用危险系统函数(systemexecshell_exec 等),并配置 open_basedir 限制 PHP 可访问目录。
  • 监控与审计:审查现有主题文件,检查是否存在可疑 Twig 代码;监控服务器异常命令执行、异常进程和文件修改行为。

由于该漏洞可利用性极高,强烈建议所有受影响用户优先安排升级,而非仅依赖权限收窄来缓解风险。升级前应备份数据库与文件系统,并在测试环境中验证升级流程的兼容性。

🧪 PoC 复现

从 GitHub 公开仓库抓取的实际 PoC 代码(仓库)。

📋 代码元数据语言sh来源covepseng/cve-2026-9558-poc针对性✅ 已验证与漏洞相关(代码含 CVE 引用)依赖见代码注释/README用法详见代码注释中的使用说明

#!/usr/bin/env bash
# CVE-2026-9558 - non-interactive Mautic 7.1.1 install for the vulnerable lab.
#
# Waits for the app container to be ready,
then runs mautic:install so the
# admin account and permission set (including core:themes:create) exist
# without going through the setup wizard by hand.
set -euo pipefail

CONTAINER="mautic-cve-2026-9558"
BASE_URL="http://localhost:8080"
ADMIN_EMAIL="admin@lab.local"
ADMIN_PASSWORD="Corvus-Lab-2026!"

echo "[*] Waiting for ${CONTAINER}to accept connections..."
for i in $(seq 1 60);
do
    if podman exec "${CONTAINER}" curl -sf -o /dev/null "http://localhost/";
then
        break
    fi
    sleep 2
done

echo "[*] Running non-interactive mautic:install..."
podman exec --user www-data --workdir /var/www/html "${CONTAINER}" \
    php ./bin/console mautic:install "${BASE_URL}" \
    --admin_email="${ADMIN_EMAIL}" \
    --admin_password="${ADMIN_PASSWORD}" \
    --no-interaction

echo "[+] Mautic installed."
echo "    URL:      ${BASE_URL}"
echo "    Email:    ${ADMIN_EMAIL}"
echo "    Password: ${ADMIN_PASSWORD}"

⚔️ EXP 利用代码

截至分析时,Exploit-DB 未收录该 CVE 的公开利用代码。可利用上述 PoC 进行验证,或关注 Exploit-DB 更新。

🕵️ 检测指纹

当前规则库未收录针对该 CVE 的专用检测规则。建议:

  • 根据漏洞根因编写 Nuclei 检测模板
  • 在 WAF/IDS 中配置针对漏洞特征的规则
  • 关注漏洞指纹库更新

🤖 本文由漏洞情报系统自动聚合生成 · 2026-08-11 10:10 · 数据源: NVD/GitHub-Advisory/OSV/CISA-KEV/Exploit-DB/PoC-in-GitHub + 检测规则库

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)