Summary
CVE-2026-92913 is a cryptographic weakness (CWE-330: Use of Insufficiently Random Values) in WWBN’s AVideo open-source video platform, affecting the getRandomCode() function used to generate account activation and login-pairing codes. Because the code is derived almost entirely from PHP’s uniqid() rather than a cryptographically secure random source, an unauthenticated remote attacker can brute-force a valid code within its short validity window and redeem it to take over a victim’s account. The issue carries a CVSS v4.0 base score of 9.1 (Critical).
Technical details
- Root cause:
getRandomCode()inobjects/functions.phpbuilds the activation/login code primarily fromuniqid(), which encodes the server’s current Unix timestamp and microseconds; only a single additional character from PHP’s non-cryptographicrand()is appended as padding. - Effective entropy: This design reduces the real keyspace to roughly 2^25 (~36 million) possible values for any given generation second, far below what an eight-character alphanumeric code should provide.
- Timing oracle: The unauthenticated endpoint
plugin/API/set.json.php?APIName=login_codecan be called without credentials and leaks the server’s exact microtime, letting an attacker narrow the generation-second window needed to brute-force a valid code. - Exploitation path: After guessing a valid, unexpired code (codes expire after 10 minutes), the attacker redeems it via
plugin/API/get.json.php?APIName=login_codeto receive the target account’s email address and aUser::getUserHash(users_id, '+1 year')value — a token accepted in place of the account password for a full year. - Attack vector: Network, no authentication required, no user interaction required.
- Impact: Full account takeover, including high confidentiality and integrity impact — the attacker gains a long-lived credential that authenticates as the victim and can read private account data.
Affected software
- WWBN AVideo — all versions/builds through commit
c3edcc274c389816d434acadac07ee78eaf330c1on the master branch. - No patched version has been published at the time of disclosure.
Severity
- CVSS v4.0: 9.1 (Critical) —
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - CVSS v3.1: 7.4 (High) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: No official patched release is currently available. Monitor the WWBN/AVideo GitHub repository and security advisory for a fix, and upgrade as soon as a patched build is published.
- Workarounds / network mitigations:
- Restrict or disable public access to the
plugin/API/set.json.phpandplugin/API/get.json.php(APIName=login_code) endpoints where account activation via email link is not required, e.g., via a WAF rule or reverse-proxy access control. - Enforce or tighten existing per-IP rate limiting (currently five redemption attempts per 300 seconds) and add per-account attempt counters to slow brute-force attempts.
- Reduce the activation/login code validity window below the default 10 minutes where configurable.
- Monitor logs for repeated or high-volume requests to the login-code redemption endpoint, which may indicate brute-force attempts.
- As a longer-term code fix (for self-hosted deployments able to patch), replace the
uniqid()-based code generator with a cryptographically secure random value, e.g.,bin2hex(random_bytes(...)).
- Restrict or disable public access to the

