The failed login remained consequential because Hermes Agent persisted the unauthenticated client-provided provider value to a durable JSON audit log. Tenable measured a roughly 100 MiB decrease in reported available storage from one rejected 100 MiB request. The maintainer later confirmed that both the 404 unknown-provider path and a 429 rate-limited path…
Inspect the ClaimsCase · DiggingBeagle record
Hermes Agent wrote anonymous login input to disk before rejecting it
An unauthenticated client could submit an oversized provider string to Hermes Agent password login. Even when the login returned 404, the rejected value was appended to a persistent audit log, allowing repeated requests to consume server disk space. Tenable published this distinct vulnerability October 9 and lists 0.21.6 as fixed.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
Tenable documented a controlled persistent 100 MiB log-write test, not a production outage. Maintainer regression tests document 128/256-character bounds merged before v0.21.6 release. Evidence is strong for the mechanism and patch presence but insufficient for field exposure, real-world exploitation or quantified impact.
Assessed Oct 11, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-HERMES-DISK-LOGGING · CLM-HERMES-DISK-TEST · CLM-HERMES-DISK-EXACT-FIX · Tenable TRA-2026-64: Hermes Agent Pre-Authentication Disk Consumption · Hermes Agent pull request 133369: provider and audit value bounds · NousResearch Hermes Agent v0.21.6 release and security fixes
At a glance
Authentication rejection is not sufficient if the rejection path persists unbounded attacker-controlled text.
Read the implicationsThe report does not demonstrate disk exhaustion against production deployments. The number of exposed Hermes Agent dashboards is unknown.
Limits and uncertaintyFull account
The failed login remained consequential because Hermes Agent persisted the unauthenticated client-provided provider value to a durable JSON audit log. Tenable measured a roughly 100 MiB decrease in reported available storage from one rejected 100 MiB request. The maintainer later confirmed that both the 404 unknown-provider path and a 429 rate-limited path could write unbounded values, so application-level rejection alone did not bound disk use. The merged October 5 correction applies a 128-character provider bound and a second 256-character bound to string values in audit records. Maintainer tests report oversized inputs now rejected with 422 and without oversized log writes. Version 0.21.6 became a tagged Docker/CLI release October 8, but the release notes exclude the Desktop and Termux bundles. The evidence does not establish sustained disk exhaustion of a production installation.
Mechanism and trust boundary
- 01
An anonymous client supplies an oversized provider value
A public login endpoint accepts a string with no configured maximum.
Boundary: unauthenticated HTTP request / login parser
- 02
Login rejects the value but audit logging persists it
The rejected provider is serialized without value-size limits into dashboard-auth.log.
Boundary: authentication failure / durable audit log
- 03
Repeated input consumes persistent storage
The researcher observed disk consumption scaling with payload size; repeated calls create availability risk.
Boundary: public input / host storage budget
Timeline
- Sep 3, 2026Event type unspecified
Researcher starts disclosure
Tenable reports initial contact.
- Sep 3, 2026notification
Vendor notified
- Oct 5, 2026Event type unspecified
Fix noted
Tenable records a fix in PR #133369.
- Oct 5, 2026patch
Fix date recorded
- Oct 9, 2026Event type unspecified
TRA-2026-64 published
Pre-authentication disk-consumption vulnerability is publicly disclosed.
- Oct 9, 2026disclosure
Public disclosure
Claims & evidence
CLM-HERMES-DISK-TESTTenable tested a 100 MiB unauthenticated JSON request that returned 404 but reduced reported free disk space by about 100 MiB, with the attacker-controlled value retained in the audit log.supported
Basis: reported finding
- supportsTenable TRA-2026-64: Hermes Agent Pre-Authentication Disk Consumptionprimary disclosure
Synopsis: 100 MiB (104,857,600 bytes) test and /api/status free-space measurements
CLM-HERMES-DISK-PATCHTenable identifies Hermes Agent versions before 0.21.6 as affected, and says the log-consumption issue was fixed on October 5 before the October 9 advisory.supported
Basis: reported finding
- supportsTenable TRA-2026-64: Hermes Agent Pre-Authentication Disk Consumptionprimary disclosure
Solution; Disclosure Timeline October 05 fixed on PR #133369; Affected Products; Advisory Timeline
CLM-HERMES-DISK-LOGGINGThe public Hermes Agent password-login handler copied an unbounded client-provided provider string into its persistent authentication audit log before returning an unknown-provider error.supported
Basis: reported finding
- supportsTenable TRA-2026-64: Hermes Agent Pre-Authentication Disk Consumptionprimary disclosure
Synopsis: POST /auth/password-login, _PasswordLoginBody.provider and dashboard-auth.log paragraphs
CLM-HERMES-DISK-EXACT-FIXNousResearch merged PR #133369 on October 5: provider IDs longer than 128 characters are rejected before password-login handling, while serialized audit strings are separately capped at 256 characters, including nested values. Its regression checks cover both unknown-provider and rate-limited authentication paths.supported
Basis: reported finding
- supportsHermes Agent pull request 133369: provider and audit value boundspatch commit artifact
Pull request #133369: What does this PR do; Changes Made; How to Test; merge October 5
Implications
Authentication rejection is not sufficient if the rejection path persists unbounded attacker-controlled text.
Controls and mitigations
- Upgrade Hermes Agent to 0.21.6 or later.
- Enforce pre-parser request-body and field-size limits on public routes; apply limits at the proxy as well as the app.
- Limit audit-log field values, cap disk allocation and alert on rapidly growing log volume.
Unknowns and contradictions
- The report does not demonstrate disk exhaustion against production deployments.
- The number of exposed Hermes Agent dashboards is unknown.
Sources and citation
Material revision history
- Oct 10, 2026 · Published version · first publication · revision 120