Submit #862424: NousResearch hermes-agent 9121834b31984c2125738c7243792cbd2dc79df6 (unreleased origin/main, post-v2026.6.5) Authentication Bypass by Spoofing (CWE-290)info

TitleNousResearch hermes-agent 9121834b31984c2125738c7243792cbd2dc79df6 (unreleased origin/main, post-v2026.6.5) Authentication Bypass by Spoofing (CWE-290)
Description# Technical Details An Authentication Bypass by Spoofing vulnerability exists in the SimpleX gateway authorization path in `hermes-agent/gateway/authz_mixin.py` of hermes-agent. The application fails to distinguish between a stable authenticated SimpleX contact identifier and mutable display-name metadata. The gateway adds `source.user_name` to the identities checked against `SIMPLEX_ALLOWED_USERS`, while the adapter populates `user_name` from attacker-controlled `displayName`, so a colliding display name can satisfy the allowlist. # Vulnerable Code File: hermes-agent/gateway/authz_mixin.py Method: gateway authorization check for SimpleX / check_ids.add(source.user_name) Why: The code treats mutable `source.user_name` as an allowlist identity. In `plugins/platforms/simplex/adapter.py`, `user_name=sender_name or sender_id`, so attacker-controlled profile metadata reaches the authorization sink and can spoof an allowlisted identity. # Reproduction 1. Download `verification_test.py`, `control-stable-id-only.py`, and `simplex_allowlist_harness.py` from the issue-linked gists. 2. From the repository root, run the verification PoC with the provided `PYTHONPATH` command from the issue. 3. Observe that a sender with `contactId='attacker-7'` and `displayName='alice'` is authorized when `SIMPLEX_ALLOWED_USERS=alice`, while the control case remains denied when only the stable non-matching ID is allowlisted. # Impact - An untrusted SimpleX contact can bypass sender authorization by choosing a colliding display name. - Once authorized, the attacker can access downstream Hermes agent functionality, including conversation state, tool invocations, local actions, file access, and integrated external services exposed by the deployment.
Source⚠️ https://github.com/NousResearch/hermes-agent/issues/44730
User
 Erichen-x (UID 99082)
Submission06/18/2026 03:40 (1 month ago)
Moderation07/25/2026 12:42 (1 month later)
StatusAccepted
VulDB entry383065 [NousResearch hermes-agent 2026.6.5 SimpleX Gateway Authorization adapter.py contactId access control]
Points20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!