Skip to content

← Public intelligence

PyPI package

loopx

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 7.1PyPIAmendedPublished

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

    CVE-2026-108372 · GHSA-vx2m-gpq4-8j5q

    Affected
    • PyPI loopx >= 0.0.1, < 0.4.5
    Fixed in
    0.4.5· Vendor fix available
    Issue
    loopx serve-status sends Access-Control-Allow-Origin: on every response, including its unauthenticated GET routes. Because the endpoint is unauthenticated and bound to a fixed, well-known loopback port, any website the operator visits can read LoopX control-plane state and the contents of Markdown files inside every registered goal repo, using a plain fetch() with no user interaction. The write endpoints are not affected — they are correctly Origin-checked. This report is strictly about the read paths. Impact While loopx serve-status is running, a page on any origin can run: and read back: GET /status.json — the whole status projection: goal ids, run history, and local absolute paths (registry, runtimeroot). With --global-registry this covers every project registered on the machine, not just one. GET /review-material?goalid=…&path=… — the content of any .md/.markdown file under a goal's repo root, state dir, or runtime dir. In practice that is the operator's private design…

    Recommended action: Upgrade to 0.4.5 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.com (1)osv.dev (2)Source checked Evidence →