Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-85725 EUVD-2026-84546GHSA-c759-cx9p-mrwqPYSEC-2026-4061

LightRAG: Plaintext Passwords Compared Without Constant-Time Function

Published Sep 22, 2026 · Updated Sep 25, 2026 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
HKUDS LightRAG < 1.5.5 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI lightrag-hku < 1.5.5 1.5.5 GHSA-c759-cx9p-mrwq

References