CVE-2026-9368: NousResearch hermes-agent sandbox bypass in execute_code tool

CVE-2026-9368 · Severity: high · CVSS 7.3 · Published 2026-05-24

NousResearch hermes-agent is an AI-driven agent capable of executing code and commands. A security flaw in its code execution tool allows the AI to run arbitrary Python scripts on the host machine without the required safety approvals or manual confirmation. This could allow a remote attacker to steal sensitive credentials (like database URLs or cloud access keys) or perform destructive actions on the server where the agent is running.

Technologies: NousResearch Hermes Agent, hermes-agent (PyPI). Vendors: NousResearch, PyPI.

Quick answers

Is CVE-2026-9368 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-9368 being exploited in the wild.
How severe is CVE-2026-9368?
High severity, with a CVSS score of 7.3, published 24 May 2026.
Which products and versions are affected?
NousResearch Hermes Agent < 0.11.0, <= 2026.4.16; hermes-agent (PyPI) ECOSYSTEM:introduced=0,fixed=0.11.0.
Is there a fix for CVE-2026-9368?
Yes. hermes-agent (PyPI): upgrade to 0.11.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-9368 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-9368?
Check whether you run NousResearch Hermes Agent or hermes-agent (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • hermes-agent (PyPI): upgrade to 0.11.0 or later
    pip install "hermes-agent>=0.11.0"

Technical details

A vulnerability in the `execute_code` function within `tools/code_execution_tool.py` allows LLM-generated Python scripts to bypass the `tools/approval.py` guardrails that normally protect the terminal tool. While the agent attempts to sanitize the environment passed to the subprocess using a substring-based blocklist (`_SECRET_SUBSTRINGS`), the list is incomplete and fails to filter common sensitive variables like `DATABASE_URL` or `AWS_ACCESS_ID`. Furthermore, because the `execute_code` path does not invoke `_check_all_guards()`, an attacker can execute arbitrary Python code to read sensitive files from disk or perform system-level commands without user interaction. The issue is addressed in version 0.11.0.

Affected products

  • NousResearch hermes-agent < 0.11.0

Identifiers

  • CVE-2026-9368
  • GHSA-wm96-9gfh-vvgq
  • PYSEC-2026-2515

Timeline

  • 2026-04-24: disclosed: Initial vulnerability report and PoC published on GitHub Gist.
  • 2026-05-24: advisory: NVD published CVE-2026-9368.
  • 2026-05-26: advisory: GitHub Advisory GHSA-wm96-9gfh-vvgq published.
  • 2026-06-30: patched: Advisory updated to reflect patched version 0.11.0.

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.