CVE-2026-14617: NousResearch hermes-agent information disclosure via case-sensitive tag matching

CVE-2026-14617 · Severity: low · CVSS 3.1 · Published 2026-07-03

NousResearch hermes-agent, an AI agent framework, contains a flaw in how it filters sensitive internal reasoning from live data streams. An attacker can use specific text prompts to trick the AI into using non-standard capitalization for its internal "thought" tags, causing the system to leak private reasoning, system instructions, or internal logic directly to the end user. While the final saved logs are cleaned, the live interaction remains vulnerable, potentially exposing proprietary business logic or sensitive system prompts.

Technologies: NousResearch Hermes Agent. Vendors: NousResearch.

Quick answers

Is CVE-2026-14617 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-14617 being exploited in the wild.
How severe is CVE-2026-14617?
Low severity, with a CVSS score of 3.1, published 3 July 2026.
Which products and versions are affected?
NousResearch Hermes Agent up to 2026.4.30.
Is there a fix for CVE-2026-14617?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-14617 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-14617?
Check whether you run NousResearch Hermes Agent 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.

Technical details

A case-sensitivity vulnerability exists in the 'GatewayStreamConsumer._filter_and_accumulate' function within 'gateway/stream_consumer.py' and 'HermesCLI._stream_delta' in 'cli.py'. The streaming filter uses exact string matching against a hardcoded list of lowercase and specific uppercase tags (e.g., <think>, <THINKING>) to suppress reasoning blocks. By using prompt injection to force the model to output mixed-case or unlisted uppercase tags (e.g., <THINK>, <Think>, <THOUGHT>), an attacker can bypass the 'buf.find(tag)' check. This causes the internal reasoning tokens to be streamed to the client before the case-insensitive post-processing filter can run. The project maintainers have reportedly declined to merge a dedicated fix, citing maintenance costs.

Affected products

  • NousResearch hermes-agent up to 2026.4.30

Timeline

  • 2026-05-07: disclosed: Initial vulnerability report and PoC published on GitHub Gist.
  • 2026-05-17: other: Issue #27288 opened on GitHub.
  • 2026-05-19: other: Pull request #28631 submitted to address the issue.
  • 2026-07-03: advisory: CVE-2026-14617 published.

References

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