GHSA-rm43-82j9-r4mj: Path Traversal
The optional dashboard HTTP server (atomicagents/dashboard/serve.py) builds filesystem paths directly from the request path and serves them without a containment check. It is the only per-request untrusted-path site in the codebase that does not route through io.saferesolveunder. Literal ../ segments survive urlparse and Path joining, so a request can read files outside the intended agentsroot (including via the static branch).
Impact: arbitrary file read. The default bind is loopback, but --host is an operator-settable documented flag; binding 0.0.0.0 exposes this to the LAN. Even on loopback it is reachable via DNS-rebinding from a browser or SSRF from a co-located service.
Affected: dashboard/serve.py (DashboardHandler.doGET / servefile), all versions through 1.0.0.
Fix: route every served path through io.saferesolveunder against the intended root and return 404 on PathTraversalError; reject ../separators early; optionally refuse a non-loopback --host unless an explicit auth/allow flag is set (matching serve/app.py).
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/atomic-agents-stackto a version that resolves this vulnerability.Fixed in 1.1.0 - Upgrade
Upgrade
dashboard/serve.py (DashboardHandler.do_GET / _serve_file)to a version that resolves this vulnerability.Fixed in 1.0.0 - Configuration
Optionally refuse a non-loopback --host unless an explicit auth/allow flag is set (per matching behavior in serve/_app.py), because DNS rebinding/SSRF can reach loopback and binding 0.0.0.0 exposes the service to the LAN.
atomic_agents/dashboard/serve.py --host = loopback only unless explicit auth/allow flag is set - Compensating control
Ensure external network reachability to the optional dashboard HTTP server is limited (e.g., only allow loopback or trusted IPs) because the server is reachable via DNS rebinding from a browser or SSRF from a co-located service.
Event History
Frequently Asked Questions
What is the severity of GHSA-rm43-82j9-r4mj?
The severity of GHSA-rm43-82j9-r4mj is rated as medium risk with a score of 52.
How do I fix GHSA-rm43-82j9-r4mj?
To fix GHSA-rm43-82j9-r4mj, ensure that the optional dashboard HTTP server uses containment checks to validate the filesystem paths before serving them.
What vulnerabilities are associated with GHSA-rm43-82j9-r4mj?
GHSA-rm43-82j9-r4mj is associated with Path Traversal and SSRF vulnerabilities.
Which component of the software is affected by GHSA-rm43-82j9-r4mj?
The component affected by GHSA-rm43-82j9-r4mj is the optional dashboard HTTP server in the atomic_agents package.
What is the potential impact of GHSA-rm43-82j9-r4mj?
The potential impact of GHSA-rm43-82j9-r4mj includes unauthorized access to the filesystem and possible execution of unintended commands.