Executive brief
Hermes WebUI, a web interface for managing sessions and projects, contains a security flaw where users can view data they are not authorized to see. By using the search feature, a logged-in user can bypass profile restrictions to access session titles and chat transcripts belonging to other users or profiles. This could lead to the exposure of sensitive information contained within private sessions.
Technical details
A missing authorization check (CWE-862) in the '_handle_sessions_search' handler in 'api/routes.py' allows authenticated users to bypass profile isolation. The vulnerable component queried 'all_sessions()' directly without applying the '_profiles_match' filtering logic used by other endpoints. An attacker can send crafted requests to the '/api/sessions/search' endpoint to retrieve session metadata and transcript message content from profiles other than their own active profile. The vulnerability is resolved in version 0.51.269 by enforcing active-profile scoping by default unless an explicit aggregate opt-in is requested.
Affected products
- nesquena Hermes WebUI < 0.51.269
Timeline
- 2026-06-05: patched: Fix merged in PR #3646 and released in v0.51.269
- 2026-06-09: disclosed: CVE published to NVD
References
- https://github.com/nesquena/hermes-webui/commit/2c7b530071bb29ae4184e83e33be5799d529568e
- https://github.com/nesquena/hermes-webui/pull/3646
- https://github.com/nesquena/hermes-webui/pull/3672
- https://github.com/nesquena/hermes-webui/releases/tag/v0.51.269
- https://www.vulncheck.com/advisories/hermes-webui-profile-isolation-bypass-via-sessions-search