Skip to main content
← All vulnerabilities
CVE-2026-108372GHSA-VX2M-GPQ4-8J5Q

LoopX serve-status permissive CORS policy exposes control-plane state and private Markdown files

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.4.5
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Open and provider-neutral, LoopX is a lightweight state kernel and local-first control plane for loop engineering. From version 0.0.1 until 0.4.5, `loopx serve-status` in `loopx/status_server.py` uses `StatusRequestHandler._send_json()` and `do_OPTIONS()` to send `Access-Control-Allow-Origin: *` for unauthenticated responses on predictable loopback ports. A remote attacker can cause an operator who visits attacker-controlled web content to issue cross-origin requests to `GET /status.json`, `GET /review-material?goal_id=...&path=...`, `GET /`, and `POST /control-plane/configure-goal/dry-run`, exposing control-plane state, goal and run information, local absolute paths, private Markdown files below registered goal roots, and dry-run configuration projections. The affected routes do not provide cross-origin writes or arbitrary-file access. This issue is fixed in version 0.4.5.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • huangruiteng loopx

    From 0.0.1 · fixed in 0.4.5

  • loopxPyPI

    From 0.0.1 · fixed in 0.4.5

References 4

GitHub · loopx-project/loopx