Executive brief
Hermes WebUI, a web-based interface for managing remote terminals and workspaces, contains a security flaw that allows users to bypass directory restrictions. By manipulating remote terminal settings, an authenticated user can trick the system into granting access to sensitive local server files, such as system configuration files. This could lead to the exposure of confidential system data and credentials, potentially compromising the entire server hosting the application.
Technical details
A path traversal and boundary bypass vulnerability exists in Hermes WebUI's workspace resolution logic. The function `_remote_terminal_workspace_candidate()` contained an early return that accepted paths under a configured remote terminal's current working directory (CWD) before the `_is_blocked_workspace_path()` security guard could execute. An authenticated attacker can configure a remote terminal profile with a CWD pointing to a sensitive system directory (e.g., `/etc`). When the application resolves this workspace, it treats the system directory as a trusted local workspace root. Consequently, workspace file-read helpers, which operate on local paths, can be used to retrieve arbitrary files from the host operating system. The vulnerability is addressed in version 0.51.269 by ensuring blocked-root checks are performed on both the candidate path and the base CWD path before acceptance.
Affected products
- nesquena Hermes WebUI < 0.51.269
Timeline
- 2026-06-06: patched: Fix merged in GitHub PR #3744
- 2026-06-09: disclosed: CVE-2026-49957 published
References
- https://github.com/nesquena/hermes-webui/commit/91a89fb5d5c0bf87932917f9914ad0150ea62fe4
- https://github.com/nesquena/hermes-webui/pull/3731
- https://github.com/nesquena/hermes-webui/pull/3744
- https://github.com/nesquena/hermes-webui/releases/tag/v0.51.269
- https://www.vulncheck.com/advisories/hermes-webui-workspace-boundary-bypass-via-api-workspace-py