CVE-2026-18774: NousResearch hermes-agent server-side request forgery in image provider

CVE-2026-18774 · Severity: medium · CVSS 6.3 · Published 2026-08-04

NousResearch hermes-agent is an AI agent framework that integrates with xAI's image generation service. The framework's image generation tool contains a flaw that allows the xAI provider to inject arbitrary URLs which the Hermes host then fetches without validation. An attacker controlling or compromising the image provider could force the Hermes server to make requests to internal services, cloud metadata endpoints, or loopback services, potentially exposing sensitive information accessible from the server's network context.

Technologies: NousResearch Hermes Agent. Vendors: NousResearch.

Quick answers

Is CVE-2026-18774 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-18774 being exploited in the wild.
How severe is CVE-2026-18774?
Medium severity, with a CVSS score of 6.3, published 4 August 2026.
Which products and versions are affected?
NousResearch Hermes Agent up to 0.16.0.
Is there a fix for CVE-2026-18774?
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-18774 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-18774?
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

The vulnerability is a server-side request forgery (SSRF) in the image_gen_provider.py component, specifically in the save_url_image() function. When the xAI image generation provider returns image data with a URL field (data[0].url), the hermes-agent framework fetches this URL directly using requests.get() without invoking the existing URL safety checks (is_safe_url) or redirect validation. The attack vector is network-based and requires the attacker to control or compromise the configured xAI image provider or intercept its response. A malicious provider can return attacker-controlled URLs that the Hermes process will fetch from its host, exposing loopback services, internal HTTP endpoints, or cloud metadata targets. The vendor was contacted early but did not respond; a working proof-of-concept and exploit code have been published.

Affected products

  • NousResearch hermes-agent up to 0.16.0

Timeline

  • 2026-08-04: disclosed
  • 2026-06-12: other: Exploit published on GitHub Gist

References

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