CVE-2026-86729
nicheMissing Rate Limiting in WWBN AVideo API Enables Brute-Force Account Takeover
WWBN AVideo through commit e01e41ecc exposes get_api_preauthorize in plugin/API/API.php as a second, undocumented login path that validates credentials with no throttling, unlike the primary get_api_signIn endpoint which limits clients to 10 attempts per 5 minutes. The endpoint also acts as a credential oracle: it returns the same 'Invalid credentials' message for correct and incorrect passwords, but the users_id field in the response reveals the outcome (users_id:1 on success, users_id:0 on failure). A correct guess additionally establishes a session cookie that remains usable for authenticated API requests. An unauthenticated remote attacker can therefore conduct unlimited password guessing against any account, including admin, and fully take over the account; any deployment running code up to commit e01e41ecc is affected, and no patched version is available yet. Exploitation has not been reported so far: EPSS is 0.2%, the flaw is not in CISA KEV, and no public proof-of-concept is known.
What to do: Because no patched version is available, mitigate by blocking or rate-limiting requests to the get_api_preauthorize endpoint (plugin/API/API.php) at a reverse proxy or WAF, and review logs for bursts of preauthorize calls targeting admin or other high-value accounts. Enforce strong passwords for AVideo accounts in the meantime, and monitor the upstream WWBN AVideo repository for a fix beyond commit e01e41ecc and upgrade as soon as one is published.
| WWBN AVideo | through commit e01e41ecc (no patched version available) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
WWBN AVideo through commit e01e41ecc (no patched version available) exposes get_api_preauthorize in plugin/API/API.php as a second, undocumented login path. Unlike get_api_signIn, which enforces a rate limit of 10 attempts per 5 minutes via checkRateLimit(), get_api_preauthorize performs the same credential check with no throttling for any client, allowing unlimited remote password guessing against arbitrary accounts, including admin. The endpoint also acts as a credential oracle: it returns the message "Invalid credentials" for both correct and incorrect passwords, while the users_id field in the response body discloses the authenticated identity (users_id:1 on success, users_id:0 on failure), and a correct password establishes a session cookie that remains usable for authenticated API requests. Together these issues permit unauthenticated brute-force account takeover.
- Weakness
- CWE-307
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.