Loopx
Monthly
Cross-origin data exposure in LoopX's local status server lets an attacker-controlled web page read control-plane state from an operator's machine. From version 0.0.1 up to but not including 0.4.5, `loopx serve-status` (`loopx/status_server.py`) emits `Access-Control-Allow-Origin: *` on unauthenticated responses bound to predictable loopback ports, so any website the operator visits while the server is running can script cross-origin requests to `GET /status.json`, `GET /review-material?goal_id=...&path=...`, `GET /`, and `POST /control-plane/configure-goal/dry-run`, harvesting goal and run metadata, absolute local paths, private Markdown files under registered goal roots, and dry-run configuration projections. The request vector is unauthenticated (CVSS PR:N) but exploitation requires the user-interaction step of visiting malicious web content (UI:P), and the affected routes are strictly read-only. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; it is a genuine but bounded-impact information disclosure best treated as medium priority, with the upstream fix released in 0.4.5.
Cross-origin data exposure in LoopX's local status server lets an attacker-controlled web page read control-plane state from an operator's machine. From version 0.0.1 up to but not including 0.4.5, `loopx serve-status` (`loopx/status_server.py`) emits `Access-Control-Allow-Origin: *` on unauthenticated responses bound to predictable loopback ports, so any website the operator visits while the server is running can script cross-origin requests to `GET /status.json`, `GET /review-material?goal_id=...&path=...`, `GET /`, and `POST /control-plane/configure-goal/dry-run`, harvesting goal and run metadata, absolute local paths, private Markdown files under registered goal roots, and dry-run configuration projections. The request vector is unauthenticated (CVSS PR:N) but exploitation requires the user-interaction step of visiting malicious web content (UI:P), and the affected routes are strictly read-only. No public exploit code has been identified at time of analysis and the issue is not in CISA KEV; it is a genuine but bounded-impact information disclosure best treated as medium priority, with the upstream fix released in 0.4.5.