Skip to main content

NousResearch hermes-agent CVE-2026-17432

| EUVDEUVD-2026-49046 LOW
Improper Access Control (CWE-284)
2026-07-26 VulDB GHSA-6r3x-gc73-h69w
1.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish SimpleX contact with target agent
  2. Delivery
    Rename own profile displayName to an allowlisted value
  3. Exploit
    Send DM to gateway
  4. Execution
    Allowlist matches spoofed profile name
  5. Impact
    Gain unauthorized agent access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK

1 technique across 1 tactic: Defense Evasion

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires ALL of: (1) the SimpleX Gateway adapter enabled in hermes-agent; (2) the operator having configured SIMPLEX_ALLOWED_USERS with contacts' human display names rather than numeric contactIds (a non-default choice, but one the UI actively encourages since it only surfaces display names) - if the allowlist uses numeric contactIds the bug is not reachable; (3) the attacker being an established SimpleX contact able to message the agent; and (4) the attacker knowing an allowlisted display-name value to impersonate. The attacker then renames their self-asserted profile displayName (source.user_name) to that value. Limiting factors: high attack complexity (AC:H), the non-default and knowledge-dependent allowlist configuration, and the need for prior contact establishment - all consistent with the description's 'exploitation appears to be difficult'. Impact is limited to unauthorized authorization into the agent, not code execution.

Impact

This is a genuine-but-low-priority issue whose signals are internally consistent - no inflated CVSS to correct here. The vendor CVSS 4.0 base score is 1.3 (AV:N/AC:H/PR:L/UI:N with only VC:L/VI:L/VA:L partial impacts), EPSS is 0.23% (14th percentile), and SSVC records Exploitation=poc, Automatable=no, Technical Impact=partial. All four frameworks agree this is low-severity, non-automatable, and only partially impactful. POC is public but there is NO CISA KEV listing, so exploitation status is publicly available exploit code exists - not active exploitation; the two must not be conflated. The high attack complexity (AC:H) is corroborated by both the description ('high complexity level', 'exploitation appears to be difficult') and the source diff: the flaw only bites when an operator populates the SIMPLEX_ALLOWED_USERS allowlist with human display names AND the attacker knows an allowlisted name to impersonate. The attack vector is nominally network (SimpleX messaging), but reach requires being an established SimpleX contact of the agent, which tempers the 'remote' framing. Net: a real authorization-bypass logic bug worth patching on niche deployments, but not an urgent, widely-exploitable priority.

Exploit ScenarioDerived

An operator runs hermes-agent's SimpleX gateway and populates SIMPLEX_ALLOWED_USERS with a trusted contact's human display name (which the SimpleX UI naturally surfaces) rather than the numeric contactId. A malicious SimpleX contact edits their own self-asserted profile display name to match an allowlisted value, then sends a direct message; the gateway's _is_user_authorized() matched the attacker-controlled profile name and grants them agent access. Public exploit/POC code is referenced in the CVE (GitHub issue #44729), but there is no evidence of active exploitation.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

SimpleX Gateway authorization bypass in NousResearch hermes-agent 2026.6.5 allows an established SimpleX contact to authorize themselves to the agent by renaming their own profile display name to a value already present in the SIMPLEX_ALLOWED_USERS allowlist. The gateway's allowlist check matched the contact's self-asserted, remote-controlled profile name (source.user_name) alongside the numeric contactId, so any contact who guesses or knows an allowlisted display name can be treated as trusted without holding the real identity. Exploitation requires the SimpleX platform adapter to be enabled, an allowlist configured with human display names rather than numeric contactIds, a pre-existing contact relationship, and knowledge of an allowlisted name (remote, high complexity, authenticated per PR:L); publicly available exploit code exists and EPSS is only 0.23% (14th percentile), with no CISA KEV listing and no confirmed in-the-wild exploitation. Impact is limited to unauthorized authorization into the agent, not code execution.

RemediationAI

Vendor fix: upstream fix available (commit 490c486ff65b766d9de0fe0e6f26e1778aaa8fb3, merged via pull request https://github.com/NousResearch/hermes-agent/pull/41246); a released patched version is not independently confirmed, so deploying the commit or a build containing it is the primary fix, and operators should track https://github.com/NousResearch/hermes-agent/issues/44730 for the release that carries it. Until that build is deployed, the most effective compensating control is to reconfigure SIMPLEX_ALLOWED_USERS to use numeric contactIds instead of display names - with numeric IDs the vulnerable match on source.user_name is never the deciding factor and the bug is unreachable - at the cost of operational effort, since the SimpleX UI surfaces display names rather than numeric IDs and operators must obtain the IDs by other means. Alternative compensating controls with their trade-offs: disable the SimpleX platform adapter entirely if the agent does not need SimpleX messaging (removes the exposure completely but cuts the channel), or strictly limit which contacts can reach the agent by accepting messages only from already-established, vetted contacts and monitoring for unexpected profile renames (partial, since the bug itself depends on the attacker being an established contact). Note that after applying the fix, allowlists containing remote profile display names will no longer match - configurations must be updated to numeric contactIds or the CLI-assigned local display name, otherwise legitimate contacts may be locked out.

Affected VersionsENISA

hermes-agent 2026.6.5

Affected Packages

euvd hermes_agent no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is an improper access control weakness (CWE-284) in hermes-agent's SimpleX messaging integration. In the SimpleX protocol, a contact has two distinct name forms: a numeric contactId (stable, assigned by the CLI) and a profile displayName that the remote party sets for itself and can change at any time. The adapter at plugins/platforms/simplex/adapter.py populated the session's user_id with the numeric contactId and user_name with the peer's self-asserted profile display name, while the gateway's _is_user_authorized() in gateway/run.py added both the numeric id and source.user_name to the set of allowlist candidates. Because profile display names are attacker-controlled and not unique, the authorization decision could be satisfied by a remote-controlled value, letting a contact impersonate an allowlisted user by renaming their profile. The upstream fix introduces a separate field, user_id_alt, carrying the contact's localDisplayName - the alias the SimpleX CLI assigns and deduplicates locally (e.g. alice, alice_1) and which a remote party cannot force to collide with another contact - and removes source.user_name from the allowlist matching entirely, with tests updated to assert that only the numeric contactId or local alias authorize.

Know when Hermes Agent gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 1.3 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 5.0 MEDIUM

AC:H because exploitation needs a non-default display-name allowlist plus knowledge of an allowlisted value; PR:L as the attacker must be an established SimpleX contact; impacts limited to partial unauthorized agent access.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 26, 2026 - 01:22 NVD
2.3 (LOW) 1.3 (LOW)
CVE Published
Jul 26, 2026 - 00:15 cve.org
LOW 1.3

DescriptionCVE.org

A vulnerability was detected in NousResearch hermes-agent 2026.6.5. Affected by this vulnerability is an unknown functionality of the file hermes-agent/plugins/platforms/simplex/adapter.py of the component SimpleX Gateway Authorization. The manipulation of the argument contactId results in improper access controls. The attack may be launched remotely. A high complexity level is associated with this attack. The exploitation appears to be difficult. The exploit is now public and may be used. The patch is identified as 490c486ff65b766d9de0fe0e6f26e1778aaa8fb3. Applying a patch is advised to resolve this issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche open-source AI agent project with a specialized SimpleX messaging adapter
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +6
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-71963 HIGH POC
8.6 Sep 03

Remote code execution in NousResearch Hermes Agent 0.18.2-0.21.0 allows an unauthenticated attacker to execute arbitrary

CVE-2026-9367 MEDIUM POC
5.5 May 24

Remote command injection in NousResearch hermes-agent allows unauthenticated attackers to execute arbitrary OS commands

CVE-2026-14628 MEDIUM POC
5.5 Jul 04

Path traversal in NousResearch hermes-agent (all versions through 2026.5.16) exposes arbitrary server-side files via the

CVE-2026-9351 MEDIUM POC
5.5 May 24

Path traversal in NousResearch hermes-agent through version 2026.4.16 allows remote unauthenticated attackers to bypass

CVE-2026-9368 MEDIUM POC
5.5 May 24

Remote sandbox escape in NousResearch hermes-agent versions up to 2026.4.16 allows unauthenticated attackers to manipula

CVE-2026-7396 MEDIUM POC
5.5 Apr 29

Path traversal in NousResearch hermes-agent 0.8.0 exposes arbitrary server-side files to unauthenticated remote attacker

CVE-2026-10221 MEDIUM POC
5.5 Jun 01

Remote code/prompt injection in NousResearch Hermes Agent through 0.12.0 stems from improper neutralization in the _comp

CVE-2026-10220 MEDIUM POC
5.5 Jun 01

Remote injection in NousResearch Hermes Agent through version 2026.4.30 allows unauthenticated attackers to manipulate t

CVE-2026-9366 MEDIUM POC
5.5 May 24

Code injection in NousResearch hermes-agent 2026.4.23 allows remote unauthenticated attackers to inject and execute arbi

CVE-2026-9354 MEDIUM POC
5.5 May 24

Improper output escaping in NousResearch Hermes Agent versions up to 2026.4.16 allows remote unauthenticated attackers t

CVE-2026-9353 MEDIUM POC
5.5 May 24

Remote injection vulnerability in NousResearch hermes-agent versions up to 2026.4.23 enables unauthenticated attackers t

CVE-2026-10224 MEDIUM POC
5.5 Jun 01

Uncontrolled resource consumption in NousResearch hermes-agent (all versions through 2026.4.30) allows remote unauthenti

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy