CVE-2026-85725 LightRAG: Plaintext Passwords Compared Without Constant-Time Function

Medium 5.9 Published Updated

An attacker can recover plaintext passwords via timing attacks on the login endpoint due to non-constant-time string comparison.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-85725?

CVE-2026-85725 is a medium-severity vulnerability in HKUDS LightRAG, published on 22 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-208

Which versions are affected by CVE-2026-85725?

3 open source packages ship an affected version, including lightrag-hku.

PackageAffectedFixed in
lightrag-hku PyPIAll versions1.5.5
lightrag-hku PyPIAll versions1.5.5
lightrag-hku PyPIAll versions1.5.5

How do I fix CVE-2026-85725?

Upgrade lightrag-hku to 1.5.5 or later.

Is CVE-2026-85725 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-85725 exists.

Sources

Also known as GHSA-c759-cx9p-mrwq, PYSEC-2026-4061.

Is CVE-2026-85725 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free