CVE-2026-108372

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

State
Published
Severity
7.1 High
Published
Oct 16, 2026
Updated
Oct 21, 2026
Reserved
Oct 9, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
4.07.1 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NGitHub_M

Weaknesses

  • CWE-346 Origin Validation Error
  • CWE-942 Permissive Cross-domain Policy with Untrusted Domains

Affected Products

ProductVersions
loopxhuangruiteng
  • >= 0.0.1, < 0.4.5Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.