CVE Catalog

CVE-2026-85725

MediumCVSS 5.9
Published: Updated: Translated: NVD NIST

Summary

LightRAG prior to 1.5.5 has verify_password in lightrag/api/passwords.py comparing 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 /login 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.

Risk Assessment

An attacker can recover the password character by character, leading to unauthorized access to protected resources. The risk applies to deployments with plaintext-configured passwords.

Recommendation

Update LightRAG to version 1.5.5 or later. Ensure passwords are stored with a bcrypt prefix to avoid the vulnerable comparison path.

Other vulnerabilities in LightRAG

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS