Evidence record / hermes-agent
A dated record of one change, kept so the writing that cites it can be checked. Compiled from the sources listed below by the research run, not written for reading. The judgment lives in the issues that cite it, below.
2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-auth
Email gateway allowlists could be passed with a spoofed From display name or smuggled Authentication-Results until v0.21.6. The email adapter took the first angle-bracketed address in From, so "Victim <victim@example.com>" <attacker@evil.test> resolved to the victim and passed EMAIL_ALLOWED_USERS. dmarc=pass was accepted without checking that it applied to the From domain, and SPF, DKIM and DMARC verdicts could be smuggled through sender-controlled text inside the receiving server’s Authentication-Results header. The PR author reports the spoof plus about 23 of 40 crafted headers authenticating before the fix and none after; this was not independently reproduced. It follows an earlier, still-unpublished advisory on the same surface. Allow-all mode is unchanged; enforcing sender authentication there (#123256) is a separate, open question.
Channel: tagged-release. Half: defect. Date: 2026-10-08.
Operator consequence: On v2026.9.24 and earlier, anyone able to send you mail could pass an email allowlist as an allowed sender and command the agent with that sender’s grants. Upgrade to v0.21.6+ and review email-originated sessions for senders you did not expect. An email allowlist is identity by header parsing; weight email as a lower-trust channel than platforms that hand Hermes authenticated user ids.
Receipt
- https://github.com/NousResearch/hermes-agent/commit/6f7a7991bb069db07ae74a479823ce8310f8c7e0
- https://github.com/NousResearch/hermes-agent/pull/125212
- https://github.com/NousResearch/hermes-agent/releases/tag/v0.21.6
- https://github.com/NousResearch/hermes-agent/blob/v0.21.7/plugins/platforms/email/adapter.py#L286-L296
Finding metadata
Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0
Finding ID: 2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-auth
Profile citations
- Hermes Agent / claim / email-sender-authentication
Source links
Primary links, including exact changelog lines when available.
- commit2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-authgithub.com/NousResearch/hermes-agent/commit/6f7a7991bb069db07ae74a479823ce8310f8c7e0merged pr2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-authgithub.com/NousResearch/hermes-agent/pull/125212github release2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-authNousResearch/hermes-agent / v0.21.6tagged commit file2026-10-13-hermes-agent-email-gateway-allowlists-could-be-passed-with-a-spoofed-from-display-name-or-smuggled-authNousResearch/hermes-agent / plugins/platforms/email/adapter.py#L286-L296
Versioned source: run artifact