Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach unauthenticated LightRAG API endpoint
-
DeliverySend malformed request to force exception
-
ExploitServer returns raw Python exception text
-
ExecutionHarvest filesystem paths, DB host/user, connection strings
-
ImpactUse recon/credentials for follow-on attacks
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Error message sanitization
MITRE ATT&CK
1 technique across 1 tactic: Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires only that the LightRAG API server be network-reachable in its default unauthenticated configuration and that the attacker can trigger a server-side exception in one of the affected routers (document, graph, query, ollama, or the server status endpoint) - no credentials or user interaction needed. The scope and value of disclosed data is amplified when backends are URI-configured with drivers whose error messages embed connection strings (then credentials leak); it is limited to reconnaissance-grade data (paths, DB host/port/user/database names, library internals) on deployments that place LightRAG behind authentication or an upstream gateway, or that use backends whose driver errors do not include credentials. Affected versions are prior to 1.5.5. |
| Impact | This is a genuine but modest-severity information-disclosure issue, correctly scored: the CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N = 5.3 MEDIUM) is internally consistent with a CWE-209 verbose-error-message flaw - remote, low-complexity, unauthenticated because the LightRAG API server ships an unauthenticated default configuration, with confidentiality-only impact (C:L) and no integrity or availability effect. No EPSS score, KEV entry, or public POC was provided in the input, so exploitation status is: no public exploit identified at time of analysis. This is not a high-CVSS-but-low-real-risk trap nor a top priority - the base rating (5.3) already reflects reality: the payoff is reconnaissance data (filesystem paths, DB host/port/user/database names, LLM-provider diagnostics, Python library internals), not direct code execution or data theft. The one signal worth weighing above the numeric score is the description's note that URI-configured backends can leak connection strings containing credentials depending on the underlying driver's error text; in that specific deployment the practical confidentiality impact edges toward credential exposure (arguably C:H), which is why this bug is best treated as a valuable stepping-stone for chaining (e.g., toward the sibling brute-force ATO and SSRF issues fixed in the same 1.5.5 release) rather than a standalone crisis. The source-code diff (PR #3422) confirms the mechanism and the fix, raising confidence in the root cause. |
| Exploit ScenarioDerived | An unauthenticated network client sends malformed or edge-case requests to LightRAG API endpoints (document, graph, query, or ollama routes) to force an unhandled server-side exception, then reads the raw Python exception text returned in the JSON detail field. From the leaked filesystem paths, database host/port/user/database names and driver diagnostics - and, for URI-configured backends, connection strings with embedded credentials - the attacker maps the internal environment for follow-on attacks. No public exploit code was identified, but the low attack complexity and unauthenticated default make triggering errors trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
LightRAG API server versions prior to 1.5.5 return raw Python exception text to network clients through error handlers in document_routes.py, graph_routes.py, query_routes.py, ollama_api.py, and lightrag_server.py, leaking server filesystem paths, database host/port/user/name, LLM provider diagnostics, and library internals. Exploitation is unauthenticated (CVSS PR:N) because the server ships with an open default configuration, and it requires only that the API be network-reachable plus a request that triggers a server-side exception; deployments using URI-configured backends whose drivers embed connection strings can also leak credentials. Scored CVSS 3.1 5.3 MEDIUM with confidentiality-only impact, and no public exploit code was identified at time of analysis.
RemediationAI
Upgrade to LightRAG 1.5.5, which is the vendor-released fix; the change set is visible in pull request https://github.com/HKUDS/LightRAG/pull/3422 and commits https://github.com/HKUDS/LightRAG/commit/4d90a0eb35d40b45f3a9045e308ec126897a3364 and https://github.com/HKUDS/LightRAG/commit/dcab315d7dc1eea682e9b2c4fcb1b06474484c47, with full details in the advisory https://github.com/HKUDS/LightRAG/security/advisories/GHSA-hrmj-7rvj-4hg8. If immediate upgrade is not possible, place the API server behind a reverse proxy or gateway that requires authentication and strips or replaces 5xx response bodies, and disable any default anonymous access - the trade-off is that legitimate API consumers lose direct access to error details, so correlate failures through server-side logs instead. Additionally, avoid passing backend connection data through inline URI strings where the driver may echo credentials on failure, preferring discrete host/user/password settings, and restrict network reachability of the API to trusted clients, accepting that internal callers must be re-homed or added to an allowlist. Patching is strongly preferred since error-path sanitization cannot be reliably retrofitted without code changes across all five affected modules.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a textbook CWE-209 (Generation of Error Message Containing Sensitive Information) in a Python/FastAPI application. Route handlers wrapped internal logic in try/except blocks and re-raised failures as HTTPException(status_code=500, detail=str(e)) or detail=str(exc), which FastAPI serializes verbatim into the JSON response body. Because the affected routers (document, graph, query, ollama, and the server status endpoint) sit on top of pluggable storage and LLM backends, the forwarded exception strings reflect whatever the underlying driver or client raised: filesystem paths from local storage, host/port/user/database identifiers from relational or vector database drivers, provider diagnostics from language-model APIs, and Python traceback fragments. When those backends are configured via connection URIs, some drivers include the full connection string - including credentials - in the exception text, escalating reconnaissance data into credential disclosure. The upstream fix introduces an internal_server_error() helper that logs the full exception and traceback server-side under a 12-character correlation id and returns only a generic message plus that id, adds a last-resort @app.exception_handler(Exception) so unhandled exceptions cannot bypass sanitization, and converts the chunking-configuration 422 responses into a controlled, numeric-only message.
Know when Lightrag gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Unauthenticated default (PR:N) network endpoint, trivially triggerable errors (AC:L), confidentiality-only leak of internal metadata (C:L); credential-in-connection-string edge case could justify C:H but base default is C:L.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Cross-origin data theft in LightRAG server versions prior to 1.5.4 allows any malicious website to make authenticated, c
Server-side request forgery (CWE-918) in LightRAG before 1.5.5 lets an authenticated caller who can upload a Markdown or
Password recovery via a timing oracle in LightRAG's /login endpoint lets remote, unauthenticated attackers (CVSS PR:N/UI
Authentication bypass in HKUDS LightRAG before 1.5.4 lets a remote unauthenticated attacker defeat X-API-Key protection
Unthrottled password guessing against the LightRAG POST /login endpoint allows an unauthenticated remote attacker to sub
Stored cross-site scripting (CWE-79) in the LightRAG WebUI prior to 1.5.5 lets an attacker who can ingest a document per
EUVD-2026-84545
GHSA-hrmj-7rvj-4hg8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB