medium5.9
CVE-2026-85725
lightrag-hku: Plaintext Passwords Compared Without Constant-Time Function
Impact
LightRAG provides simple and fast retrieval-augmented generation. Prior to 1.5.5, verify_password in lightrag/api/passwords.py compares plaintext AUTH_ACCOUNTS password values with Python's == operator. The comparison can return after the first mismatching byte, creating response-time differences based on password length and matching prefixes. A network attacker with sufficiently low-latency access can repeatedly query the /login endpoint and use the timing oracle to recover a plaintext-configured password character by character. Deployments using bcrypt-prefixed password values are not affected by this comparison path. This issue is fixed in version 1.5.5.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | lightrag-hku | <= 1.5.4 | 1.5.5 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-c759-cx9p-mrwq
- https://github.com/HKUDS/LightRAG/security/advisories/GHSA-c759-cx9p-mrwq
- https://nvd.nist.gov/vuln/detail/CVE-2026-85725
- https://github.com/HKUDS/LightRAG/pull/3423
- https://github.com/HKUDS/LightRAG/commit/89849c3ed0e0380345a6b5bade027cfb9a5bf32c
- https://github.com/HKUDS/LightRAG/releases/tag/v1.5.5