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

Published Sep 22, 2026
·
Updated

LightRAG provides simple and fast retrieval-augmented generation. Prior to 1.5.5, verifypassword in lightrag/api/passwords.py compares plaintext AUTHACCOUNTS 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 Software

1 affected component
pypi/lightrag-hku<1.5.5

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade LightRAG to a version that resolves this vulnerability.

    Fixed in 1.5.5

Event History

Sep 22, 2026
CVE Published
via MITRE·04:16 PM
Data Sourced
via MITRE·04:16 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are affected?

Deployments running LightRAG before version 1.5.5 are affected only when AUTH_ACCOUNTS contains plaintext password values. Deployments using bcrypt-prefixed password values do not use the vulnerable comparison path.

2

What does an attacker need to exploit this issue?

An attacker needs network access to repeatedly submit requests to the /login endpoint and sufficiently low-latency conditions to distinguish response-time differences. No credentials or user interaction are required, but exploitation has high attack complexity because timing measurements must be reliable enough to infer matching password prefixes.

3

What should be done if an immediate upgrade is not possible?

Replace plaintext AUTH_ACCOUNTS password values with bcrypt-prefixed password values, which are not affected by this comparison path. Upgrade to LightRAG 1.5.5 when possible.

4

How can I determine whether my instance is exposed?

Check the deployed LightRAG version and inspect AUTH_ACCOUNTS password values. An instance is exposed if it is earlier than 1.5.5 and has plaintext password values configured; bcrypt-prefixed values are not affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203