Skip to main content

hermes-webui CVE-2026-6830

| EUVDEUVD-2026-24515 MEDIUM
Exposure of Resource to Wrong Sphere (CWE-668)
2026-04-21 VulnCheck GHSA-vvfr-g83f-8qcv
4.8
CVSS 4.0 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Gain local access to hermes-webui instance
  2. Delivery
    Activate credential-holding profile (Profile A)
  3. Exploit
    Trigger switch to second profile (Profile B) without clearing
  4. Execution
    Read persisted API keys from os.environ in Profile B context
  5. Impact
    Exfiltrate provider credentials

Vulnerability Assessment

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

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Exploitation requires local access to a running hermes-webui process and sufficient privilege to invoke the profile-switching function (CVSS PR:L). The leakage condition only arises when at least two profiles are configured and the source profile defines one or more secrets (e.g., OPENAI_API_KEY, CUSTOM_TOKEN) in its .env file that are absent from the destination profile's .env. In single-profile deployments or where all profiles share identical credential sets, no cross-profile leakage can occur. The attack is not automatable over the network (SSVC: Automatable=no; CVSS AV:L) and cannot be triggered remotely. Exploitation is further limited to the confidentiality of secrets stored in profile .env files - it does not enable code execution, privilege escalation, or modification of data.

Impact

The CVSS 4.0 score of 4.8 (Medium) reflects a local attack vector (AV:L), low complexity (AC:L), low-privilege requirement (PR:L), and limited confidentiality impact (VC:L) with no integrity or availability impact. These signals are internally consistent and align with the described exploitation conditions. EPSS at 0.01% (2nd percentile) and SSVC Exploitation=none both indicate no observed active exploitation or exploit tooling at time of analysis, and SSVC Automatable=no confirms the attack cannot be scripted for mass targeting. The vulnerability is absent from CISA KEV. Real-world risk is bounded by two factors: exploitation requires local access plus permission to invoke profile switching, and the impact is limited to cross-profile credential disclosure rather than system compromise. The primary risk scenario is insider threat or a compromised local account in a shared hermes-webui deployment where multiple profiles contain distinct high-value API keys. For single-user or single-profile deployments, the vulnerability has no exploitable surface.

Exploit ScenarioDerived

A user with local access to a shared hermes-webui instance first activates a profile that defines OPENAI_API_KEY=secret-from-p1 in its .env, then switches to a second profile whose .env does not define that key. Because the prior _reload_dotenv applied dotenv additively, OPENAI_API_KEY remains live in os.environ and is accessible to any code or user operating in the second profile context, allowing the actor to read and exfiltrate the first profile's API key. No public exploit code exists for this vulnerability.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 24, 2026

Environment variable leakage in nesquena/hermes-webui exposes provider API keys and other profile-scoped secrets across profile boundaries when users switch active profiles. The _reload_dotenv function in api/profiles.py loaded each new profile's .env additively into os.environ without first purging variables set by the previously active profile, meaning credentials such as OPENAI_API_KEY persisted beyond their intended security scope. No active exploitation has been observed (SSVC: Exploitation=none, EPSS 0.01% / 2nd percentile), but the flaw is a clear, reproducible confidentiality break confirmed by vendor source code diff and a VulnCheck advisory.

RemediationAI

Upgrade hermes-webui to the version that includes pull request #351, which is confirmed patched at commit 88dc8bbe26a6055161d3251b70f5cd3d3c5831b0 (https://github.com/nesquena/hermes-webui/commit/88dc8bbe26a6055161d3251b70f5cd3d3c5831b0). Verify the installed version incorporates the _loaded_profile_env_keys isolation logic in api/profiles.py by checking the commit history against the release tags at https://github.com/nesquena/hermes-webui/releases; the exact first patched release tag is not independently confirmed from available data. As a compensating control prior to patching, restrict profile-switching capability to a single trusted user per deployment and avoid storing high-value API keys in profile-scoped .env files - use a dedicated secrets manager (e.g., HashiCorp Vault or OS-level keyring) instead, injecting credentials at process start rather than via dotenv. The trade-off of this workaround is reduced per-profile credential isolation convenience until the patch is applied.

Affected VersionsENISA

hermes-webui 0 <PR #351

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

hermes-webui (CPE: cpe:2.3:a:nesquena:hermes-webui:*:*:*:*:*:*:*:*) is a Python-based web UI for interacting with LLM providers, which organizes credentials and configuration into user-selectable profiles. Each profile stores provider API keys in a per-directory .env file loaded via the dotenv library into Python's os.environ. The vulnerability stems from the _reload_dotenv function applying dotenv loading in an additive fashion: the function wrote new profile variables into os.environ without tracking or removing the variables previously injected by the outgoing profile. CWE-668 (Exposure of Resource to Wrong Sphere) accurately describes the root cause - secrets from one security domain (profile A) persisted into another domain (profile B) due to the shared, unscoped os.environ state. The fix introduces a module-level _loaded_profile_env_keys set that tracks which environment variable keys were loaded per profile, explicitly purging them from os.environ at the start of each profile switch before loading the incoming profile's .env.

Know when Hermes Webui 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

NVD PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.3 LOW

Local access and profile-switch permission required (AV:L, PR:L); impact limited to partial credential disclosure with no integrity or availability effect.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

4
Severity Changed
Apr 21, 2026 - 22:22 NVD
LOW MEDIUM
CVSS changed
Apr 21, 2026 - 22:22 NVD
3.3 (LOW) 4.8 (MEDIUM)
Patch released
Apr 21, 2026 - 22:16 nvd
Patch available
CVE Published
Apr 21, 2026 - 21:33 nvd
MEDIUM 4.8

DescriptionCVE.org

nesquena hermes-webui contains an environment variable leakage vulnerability where profile switching does not clear environment variables from the previously active profile before loading the next profile. Attackers or users can exploit additive dotenv reload behavior to access provider API keys and other sensitive secrets from one profile context in another profile, breaking expected security isolation between profiles.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Prevalence
Rare
niche open-source LLM WebUI, limited enterprise footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
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-58123 CRITICAL POC
9.3 Jul 09

Unauthenticated remote code execution in Hermes WebUI before version 0.51.788 lets remote attackers run arbitrary shell

CVE-2026-58122 CRITICAL
9.3 Jul 09

Authentication bypass in Hermes WebUI before 0.51.307 lets unauthenticated remote attackers reach onboarding endpoints t

CVE-2026-55196 CRITICAL
9.1 Jun 17

Authentication bypass in Hermes WebUI before 0.51.409 allows unauthenticated remote attackers to register the first pass

CVE-2026-49973 CRITICAL
9.2 Jun 11

Unauthenticated initial-setup hijack in Hermes WebUI before 0.51.358 allows any remote attacker who can reach the settin

CVE-2026-53871 HIGH
8.6 Jun 17

Cross-profile authorization bypass in Hermes WebUI before 0.51.368 allows authenticated users to access sessions, files,

CVE-2026-6832 HIGH POC
7.2 Apr 21

Arbitrary file deletion in Hermes WebUI (nesquena/hermes-webui, all versions prior to the PR #409 fix) allows an authent

CVE-2026-55198 HIGH
7.1 Jun 17

Cross-profile session data exfiltration in Hermes WebUI before 0.51.443 lets any authenticated user retrieve session tra

CVE-2026-55197 HIGH
7.1 Jun 17

Cross-profile session disclosure in Hermes WebUI before 0.51.443 lets any authenticated user retrieve conversation trans

CVE-2026-11322 HIGH
7.1 Jun 04

Information disclosure in Hermes WebUI before v0.51.221 allows authenticated remote attackers to read arbitrary files ou

CVE-2026-49956 HIGH
7.1 Jun 09

Cross-profile data disclosure in Hermes WebUI before 0.51.269 allows authenticated users to read session titles and tran

CVE-2026-55205 MEDIUM
6.9 Jun 18

Resource exhaustion in Hermes WebUI before 0.51.468 exposes an unauthenticated POST /api/onboarding/oauth/start endpoint

CVE-2026-49955 MEDIUM
6.9 Jun 09

Resource exhaustion in Hermes WebUI before v0.51.270 allows unauthenticated remote attackers to degrade service availabi

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