| 제목 | NousResearch hermes-agent <= v2026.4.23 Improper Authentication (CWE-287) |
|---|
| 설명 | # Technical Details
An Authorization Bypass exists in the `_sync_anthropic_entry_from_credentials_file` method in `agent/credential_pool.py` of hermes-agent.
The application fails to properly isolate multi-tenant credentials during pool rotation when a token encounters a rate limit.
# Vulnerable Code
File: agent/credential_pool.py
Method: _sync_anthropic_entry_from_credentials_file
Why: The method blindly reads the global `~/.claude/.credentials.json` file and overrides individual exhausted pool entries, collapsing distinct accounts into one.
# Reproduction
1. Configure `auth.json` with multiple Anthropic `claude_code` tokens and set a specific token in `~/.claude/.credentials.json`.
2. Induce rate limiting (HTTP 429) for the tokens in the pool to trigger exhaustion and rotation.
3. Observe that `_sync_anthropic_entry_from_credentials_file` overwrites each exhausted token with the contents of the global credentials file.
# Impact
- Breaches isolated authorization boundaries, leading to Information Leakage and Authentication Bypass.
- Completely negates failover and rate-limit bypassing functions. |
|---|
| 원천 | ⚠️ https://gist.github.com/YLChen-007/caf38652afeccbbd53a9d77152b6198d |
|---|
| 사용자 | Eric-j (UID 98073) |
|---|
| 제출 | 2026. 05. 07. PM 03:45 (1 월 ago) |
|---|
| 모더레이션 | 2026. 06. 01. PM 03:28 (25 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 367645 [NousResearch hermes-agent 까지 2026.4.23 Credential Pool Synchronization agent/credential_pool.py _sync_anthropic_entry_from_credentials_file 약한 인증] |
|---|
| 포인트들 | 20 |
|---|