Skip to main content

hermes-agent CVE-2026-18976

| EUVDEUVD-2026-53698 LOW
Incorrect Privilege Assignment (CWE-266)
2026-08-06 VulDB GHSA-6rr9-mpp7-j4mp
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to hermes-agent with low-privilege credentials
  2. Delivery
    Target agent session with disabled_toolsets policy enforced
  3. Exploit
    Call get_tool_definitions
  4. Execution
    Bypass disabled_toolsets check due to missing guard
  5. Persist
    Access restricted toolset (e.g., memory)
  6. Impact
    Read or modify data via unauthorized tool invocation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Privilege assignment review
Exploitation Conditions

Exploitation requires a valid authenticated session with hermes-agent (PR:L per CVSS 4.0). The vulnerability is only triggerable when the disabled_toolsets configuration is actively used to restrict tool access for a given agent - deployments that do not rely on disabled_toolsets for access control are not affected by this specific flaw. The attack is initiated remotely over the network (AV:N). Limiting factors include: mandatory prior authentication, dependency on the disabled_toolsets feature being in use as a security control, and impact confined to accessing tool categories within the hermes-agent application rather than broader system access. No special platform, operating system, or non-default installation is otherwise required.

Impact

The CVSS 4.0 base score of 2.1 (Very Low) correctly reflects the constrained blast radius: PR:L confirms exploitation requires an authenticated session, and VC:L/VI:L/VA:L indicate only low-level impacts across confidentiality, integrity, and availability with no subsequent-system impact (SC:N/SI:N/SA:N). The E:P modifier confirms a publicly available exploit (GitHub issue #46171). The vulnerability is not listed in CISA KEV, and no EPSS data was provided in the input - exploitation probability cannot be independently quantified. Real-world risk is moderate-to-low: this is an intra-application privilege boundary violation rather than a system-level compromise; an attacker must already hold authenticated access and the impact is limited to bypassing toolset restrictions. The public disclosure via a GitHub issue means the attack surface is well-understood, but the requirement for prior authentication substantially limits opportunistic exploitation. This is a genuine fix-when-patching priority rather than an emergency response item.

Exploit ScenarioDerived

An authenticated user of hermes-agent who is subject to an administrator-enforced disabled_toolsets restriction (e.g., the 'memory' toolset is disabled for their agent) initiates a session and calls tools from the supposedly disabled toolset. Because get_tool_definitions does not check disabled_toolsets before injection, the full tool set is available despite the policy. A public GitHub issue (#46171) demonstrates this behavior, making reproduction straightforward for any authenticated user.

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 – Aug 06, 2026

Incorrect privilege assignment in NousResearch hermes-agent through 0.16.0 allows authenticated remote users to invoke toolsets that administrators have explicitly disabled via the disabled_toolsets configuration. The flaw resides in get_tool_definitions within agent/agent_init.py, where the disabled_toolsets list was not checked before injecting tool definitions into an agent session, causing disabled tools (e.g., 'memory') to remain fully accessible. No active exploitation is confirmed (not in CISA KEV), but a public proof-of-concept exists via GitHub issue #46171 and an upstream fix is available in PR #46185.

RemediationAI

The upstream fix is available via GitHub PR #46185 (https://github.com/NousResearch/hermes-agent/pull/46185), which adds a guard to skip tool injection when the toolset is listed in disabled_toolsets. Users should update to a tagged release of hermes-agent that incorporates this PR once published; an exact patched release version is not yet independently confirmed from the available references. As a compensating control pending a formal release, operators can avoid using disabled_toolsets as a security boundary and instead enforce toolset restrictions at the agent session initialization layer or through external API access controls. Note that relying solely on the disabled_toolsets configuration for security enforcement on unpatched versions provides no effective restriction. The VulDB advisory is at https://vuldb.com/vuln/386264 and the originating issue report is at https://github.com/NousResearch/hermes-agent/issues/46171.

Affected VersionsENISA

hermes-agent 0.1
hermes-agent 0.10
hermes-agent 0.15
hermes-agent 0.14
hermes-agent 0.3
hermes-agent 0.9
hermes-agent 0.6
hermes-agent 0.4
hermes-agent 0.5
hermes-agent 0.12
hermes-agent 0.11
hermes-agent 0.8
hermes-agent 0.2
hermes-agent 0.7
hermes-agent 0.16.0
hermes-agent 0.13

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

hermes-agent is a Python-based AI agent framework by NousResearch, requiring Python >=3.11,<3.14 and using pydantic-core with Rust-backed extensions. The vulnerable component is the disabled_toolsets Handler inside the init_agent function in agent/agent_init.py. The get_tool_definitions function builds the set of tools injected into an agent session; the intended design is that toolsets listed in disabled_toolsets (e.g., 'memory') are excluded from injection. CWE-266 (Incorrect Privilege Assignment) is the root cause: the conditional logic failed to evaluate whether a toolset appeared in agent.disabled_toolsets before injecting it, meaning the access restriction was silently bypassed. The fix in PR #46185 adds the guard: and not (agent.disabled_toolsets and 'memory' in agent.disabled_toolsets). The affected CPE is cpe:2.3:a:nousresearch:hermes-agent:*:*:*:*:*:*:*:*.

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 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.3 MEDIUM

Network-reachable but requires authenticated low-privilege access; scope unchanged; low C/I/A reflecting intra-application toolset bypass only.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:N/AC:L/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
Low
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

3
Severity Changed
Aug 06, 2026 - 02:22 NVD
MEDIUM LOW
CVSS changed
Aug 06, 2026 - 02:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Aug 06, 2026 - 01:45 cve.org
LOW 2.1

DescriptionCVE.org

A vulnerability was determined in NousResearch hermes-agent up to 0.16.0. This impacts the function get_tool_definitions of the file agent/agent_init.py of the component disabled_toolsets Handler. This manipulation causes incorrect privilege assignment. The attack may be initiated remotely. The exploit has been publicly disclosed and may be utilized. The project was informed of the problem early through an issue report.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche AI agent framework, limited enterprise production adoption
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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