CVE-2026-85709: LightRAG: error messages leak paths and DB credentials
GHSA-hrmj-7rvj-4hg8MEDIUMPoC AVAILABLECISA: TRACK*LightRAG's API server returns raw Python exception text to clients, exposing server filesystem paths, database host, port, user and name, LLM provider diagnostics and library internals. Because the default configuration has no authentication, any network client who can trigger an error gets this data, and URI-configured backends can leak connection strings containing credentials depending on the driver error. The direct impact is low (CVSS 5.3, confidentiality only), but PoC code exists, the package has 1,508 downstream dependents and 23 other CVEs, and the leaked data is useful reconnaissance for chaining into attacks on the backing databases. Exploitation likelihood is modest (EPSS 0.39%, top 69%), it is not in CISA KEV, and CISA SSVC says TRACK*. Upgrade lightrag-hku to 1.5.5 or later, put the API behind authentication and network controls, and rotate any database or LLM credentials that may have appeared in error responses.
What is the risk?
Medium overall. Exploitation is trivial: it needs only network access, no credentials and no user interaction, and a malformed request is enough to trigger an error. The impact is limited to information disclosure (CWE-209), with no integrity or availability effect. Risk rises sharply where the server is internet-exposed with default no-auth settings, or where backends (Postgres, Neo4j, Redis, MongoDB and similar) are configured via URIs with embedded credentials. In those cases leaked credentials could turn a low-severity issue into data-store compromise. A public PoC and widespread use as a RAG backend add to the exposure, but there is no evidence of active exploitation.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| OpenAI Node | pip | <= 1.5.4 | 1.5.5 |
Do you use OpenAI Node? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade lightrag-hku to 1.5.5 or later (fix in PR #3422 and the commits listed in the advisory). 2) Enable API authentication and do not expose the server to untrusted networks; place it behind a reverse proxy, VPN or API gateway. 3) Rotate database, LLM provider and other credentials for any instance that was reachable, since error responses may have exposed them. 4) Where patching is delayed, use a reverse proxy to replace 5xx response bodies with generic messages and rate-limit unauthenticated clients. 5) Review access logs for bursts of malformed requests or repeated 4xx/5xx responses against document, graph, query and Ollama API routes. 6) Use secret references or environment-based credentials in place of URIs with embedded passwords, and restrict backing databases to the application host.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-85709?
LightRAG's API server returns raw Python exception text to clients, exposing server filesystem paths, database host, port, user and name, LLM provider diagnostics and library internals. Because the default configuration has no authentication, any network client who can trigger an error gets this data, and URI-configured backends can leak connection strings containing credentials depending on the driver error. The direct impact is low (CVSS 5.3, confidentiality only), but PoC code exists, the package has 1,508 downstream dependents and 23 other CVEs, and the leaked data is useful reconnaissance for chaining into attacks on the backing databases. Exploitation likelihood is modest (EPSS 0.39%, top 69%), it is not in CISA KEV, and CISA SSVC says TRACK*. Upgrade lightrag-hku to 1.5.5 or later, put the API behind authentication and network controls, and rotate any database or LLM credentials that may have appeared in error responses.
Is CVE-2026-85709 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-85709, increasing the risk of exploitation.
How to fix CVE-2026-85709?
1) Upgrade lightrag-hku to 1.5.5 or later (fix in PR #3422 and the commits listed in the advisory). 2) Enable API authentication and do not expose the server to untrusted networks; place it behind a reverse proxy, VPN or API gateway. 3) Rotate database, LLM provider and other credentials for any instance that was reachable, since error responses may have exposed them. 4) Where patching is delayed, use a reverse proxy to replace 5xx response bodies with generic messages and rate-limit unauthenticated clients. 5) Review access logs for bursts of malformed requests or repeated 4xx/5xx responses against document, graph, query and Ollama API routes. 6) Use secret references or environment-based credentials in place of URIs with embedded passwords, and restrict backing databases to the application host.
What systems are affected by CVE-2026-85709?
This vulnerability affects the following AI/ML architecture patterns: RAG pipelines, Graph-based RAG, LLM API servers, Vector databases, Knowledge graph backends.
What is the CVSS score for CVE-2026-85709?
CVE-2026-85709 has a CVSS v3.1 base score of 5.3 (MEDIUM). The EPSS exploitation probability is 0.42%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0006Active ScanningAML.T0049Exploit Public-Facing ApplicationAML.T0055Unsecured CredentialsAML.T0069Discover LLM System InformationCompliance Controls Affected
What are the technical details?
Original Advisory
LightRAG provides simple and fast retrieval-augmented generation. Prior to 1.5.5, the LightRAG API server returns raw Python exception text from error handlers in document_routes.py, graph_routes.py, query_routes.py, ollama_api.py, and lightrag_server.py. The detail=str(e), detail=str(exc), and equivalent formatted-message paths expose server filesystem paths, database host, port, user, and database names, language-model provider diagnostics, configuration details, and Python library internals to a network client that can trigger an error. The default unauthenticated configuration makes those responses reachable without credentials, and URI-configured backends can disclose connection strings containing credentials depending on the underlying driver error. This issue is fixed in version 1.5.5.
Exploitation Scenario
An attacker scans for exposed LightRAG API servers, then sends malformed queries or invalid document and graph requests to the unauthenticated endpoints to trigger exceptions. The responses return raw error text containing the PostgreSQL or Neo4j host, port, user and database name, filesystem paths, and LLM provider diagnostics. If the backend is set up through a connection URI, the driver error may include the credentials. The attacker uses this to map the internal environment, attempt direct access to the exposed data stores holding the organization's embedded documents and knowledge graph, or pick other known LightRAG flaws to exploit.
Weaknesses (CWE)
CWE-209Generation of Error Message Containing Sensitive InformationPrimaryCWE-209Generation of Error Message Containing Sensitive InformationPrimaryCWE-209Generation of Error Message Containing Sensitive InformationCWE-209 — Generation of Error Message Containing Sensitive Information: The product generates an error message that includes sensitive information about its environment, users, or associated data.
- [Implementation] Ensure that error messages only contain minimal details that are useful to the intended audience and no one else. The messages need to strike the balance between being too cryptic (which can confuse users) or being too detailed (which may reveal more than intended). The messages should not reveal the methods that were used to determine the error. Attackers can use detailed information to refine or optimize their original attack, thereby increasing their chances of success. If errors must be captured in some detail, record them in log messages, but consider what could occur if the log messages can be viewed by attackers. Highly sensitive information such as passwords should never be saved to log files. Avoid inconsistent messaging that might accidentally tip off an attacker about internal state, such as whether a user account exists or not.
- [Implementation] Handle exceptions internally and do not display errors containing potentially sensitive information to a user.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NReferences
- github.com/advisories/GHSA-hrmj-7rvj-4hg8
- nvd.nist.gov/vuln/detail/CVE-2026-85709
- github.com/HKUDS/LightRAG/commit/4d90a0eb35d40b45f3a9045e308ec126897a3364
- github.com/HKUDS/LightRAG/commit/dcab315d7dc1eea682e9b2c4fcb1b06474484c47
- github.com/HKUDS/LightRAG/pull/3422
- github.com/HKUDS/LightRAG/releases/tag/v1.5.5
- github.com/HKUDS/LightRAG/security/advisories/GHSA-hrmj-7rvj-4hg8
Timeline
Related Vulnerabilities
GHSA-vjc7-jrh9-9j8610.09Router: no-auth API leaks keys, chats, provider control
Same package: openaiCVE-2026-6153910.0Xinference: eval() on LLM output enables RCE
Same package: openaiCVE-2024-238279.8Nginx-UI: arbitrary file write via cert import leads to RCE
Same package: openaiCVE-2025-612609.8OpenAI Codex CLI: RCE via malicious MCP config files
Same package: openaiCVE-2026-195939.8Codex Desktop: Git config filter triggers sandbox-escape RCE
Same package: openai