GHSA-rm43-82j9-r4mj

Suggest an improvement
Source
https://github.com/advisories/GHSA-rm43-82j9-r4mj
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-rm43-82j9-r4mj/GHSA-rm43-82j9-r4mj.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-rm43-82j9-r4mj
Aliases
Published
2026-08-13T14:17:13Z
Modified
2026-09-16T03:56:03Z
Severity
  • 8.2 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
atomic-agents-stack: Dashboard HTTP server path traversal allows arbitrary file read
Details

The optional dashboard HTTP server (atomic_agents/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.safe_resolve_under. Literal ../ segments survive urlparse and Path joining, so a request can read files outside the intended agents_root (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.do_GET / _serve_file), all versions through 1.0.0.

Fix: route every served path through _io.safe_resolve_under 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).

Database specific
{
    "cwe_ids":  [
        "CWE-22"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-08-13T14:17:13Z",
    "nvd_published_at":  null,
    "severity":  "HIGH"
}
References

Affected packages

PyPI / atomic-agents-stack

Package

Name
atomic-agents-stack
View open source insights on deps.dev
Purl
pkg:pypi/atomic-agents-stack

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
1.1.0

Affected versions

1.*
1.0.0

Database specific

last_known_affected_version_range
"<= 1.0.0"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/08/GHSA-rm43-82j9-r4mj/GHSA-rm43-82j9-r4mj.json"