Summary
CVE-2026-75482 is a path traversal vulnerability (CWE-22) in the trajectory inspector HTTP server bundled with SWE-agent, an open-source AI coding agent framework. The flaw allows an unauthenticated network attacker to read arbitrary files outside the intended trajectory directory by supplying .. sequences in the /trajectory/ request path. The issue carries a CVSS v4.0 base score of 8.7 (High), driven by the server’s lack of authentication, its default binding to all network interfaces, and permissive CORS configuration.
Technical details
- Root cause: The
/trajectory/request handler insweagent/inspector/server.pyjoins the client-supplied path directly to the trajectory directory without validating that the resolved path stays within that directory. As documented in the underlying issue,Path(traj_dir) / '../../etc/x'resolves outsidetraj_dir, bypassing intended sandboxing. - Trigger conditions: The trajectory inspector web server must be running (it is started to visualize/review agent run trajectories) and reachable over the network. No authentication is required to exploit it.
- Attack vector: An unauthenticated remote client — or a malicious web page abusing the server’s wildcard CORS policy (
Access-Control-Allow-Origin: *) — can send a crafted HTTP request containing directory traversal sequences (e.g., viacurl --path-as-is 'http://TARGET:8231/trajectory/../../../../../../home/user/other_run/run.traj') to fetch files outside the trajectory directory. - Impact: Disclosure of files is effectively limited to those the server will parse/serve as JSON-like trajectory data, but this can still expose repository source code, command output, and secrets/API keys captured within recorded agent trajectories. The vulnerability is rated Confidentiality: High under CVSS v4.0, with no direct integrity or availability impact.
- Compounding factors: By default the inspector server binds to
0.0.0.0(all interfaces) rather than localhost, and enables wildcard CORS, both of which significantly widen the exposure compared to a purely local tool.
Affected software
- Product: SWE-agent (package:
pkg:pypi/sweagent) - Affected versions: All versions from the initial release through 1.1.0 (confirmed reproducible on v1.1.0, commit c53556f)
- Component: Trajectory inspector HTTP server (
sweagent/inspector/server.py)
Severity
- CVSS v4.0: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N - CVSS v3.1 (alternate scoring): 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Check the SWE-agent project repository/release notes for a version beyond 1.1.0 that fixes this issue and upgrade as soon as a patched release is available. At the time of this advisory, no confirmed patched version number has been publicly published — monitor the project’s GitHub repository and security advisories for the fix.
- Network mitigation: Do not expose the trajectory inspector server to untrusted networks or the public internet. Bind it to
localhost/127.0.0.1only, and block external access via firewall rules if it must run on a shared host. - Configuration hardening: Disable or restrict the wildcard CORS policy on the inspector server, and avoid enabling the inspector in environments where trajectory files may contain secrets or sensitive repository data.
- Detection: Review inspector server access logs for requests containing
..traversal sequences or unexpected file paths under/trajectory/. - Data hygiene: Treat any secrets or credentials that may have been captured in trajectory files as potentially exposed if the inspector server was reachable from untrusted networks, and rotate them as a precaution.

