Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local access to hermes-webui instance
-
DeliveryActivate credential-holding profile (Profile A)
-
ExploitTrigger switch to second profile (Profile B) without clearing
-
ExecutionRead persisted API keys from os.environ in Profile B context
-
ImpactExfiltrate 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., |
| 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 |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
Local access and profile-switch permission required (AV:L, PR:L); impact limited to partial credential disclosure with no integrity or availability effect.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
4DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Hermes Webui
View allUnauthenticated remote code execution in Hermes WebUI before version 0.51.788 lets remote attackers run arbitrary shell
Authentication bypass in Hermes WebUI before 0.51.307 lets unauthenticated remote attackers reach onboarding endpoints t
Authentication bypass in Hermes WebUI before 0.51.409 allows unauthenticated remote attackers to register the first pass
Unauthenticated initial-setup hijack in Hermes WebUI before 0.51.358 allows any remote attacker who can reach the settin
Cross-profile authorization bypass in Hermes WebUI before 0.51.368 allows authenticated users to access sessions, files,
Arbitrary file deletion in Hermes WebUI (nesquena/hermes-webui, all versions prior to the PR #409 fix) allows an authent
Cross-profile session data exfiltration in Hermes WebUI before 0.51.443 lets any authenticated user retrieve session tra
Cross-profile session disclosure in Hermes WebUI before 0.51.443 lets any authenticated user retrieve conversation trans
Information disclosure in Hermes WebUI before v0.51.221 allows authenticated remote attackers to read arbitrary files ou
Cross-profile data disclosure in Hermes WebUI before 0.51.269 allows authenticated users to read session titles and tran
Resource exhaustion in Hermes WebUI before 0.51.468 exposes an unauthenticated POST /api/onboarding/oauth/start endpoint
Resource exhaustion in Hermes WebUI before v0.51.270 allows unauthenticated remote attackers to degrade service availabi
EUVD-2026-24515
GHSA-vvfr-g83f-8qcv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB