CVE-2026-92913: AVideo Weak PRNG Activation Code Authentication Bypass

Published Sep 17, 2026
·
Updated

AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 uses a cryptographically weak pseudo-random number generator when creating account activation / login pairing codes. getRandomCode() in objects/functions.php derives the code entirely from uniqid() (sprintf('%08x%05x', seconds, microseconds)) with a single non-CSPRNG rand() character used only as padding, reducing the code space to roughly 36 x 10^6 (~2^25) values for a known generation second. Because plugin/API/set.json.php?APIName=logincode can be called without authentication, it also serves as an oracle for the server's exact microtime. An unauthenticated remote attacker who guesses a valid, unexpired code (codes expire after 10 minutes) can redeem it at plugin/API/get.json.php?APIName=logincode to obtain the target account's email address and a User::getUserHash(usersid, '+1 year') value, a credential accepted in place of the account password for one year, resulting in account takeover. No patched version is available.

Affected Software

1 affected component
AVideo

Event History

Sep 17, 2026
CVE Published
via MITRE·11:16 AM
Data Sourced
via MITRE·11:16 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Does exploiting this require an existing account or user interaction?

No. The login-code creation endpoint can be called without authentication, and an unauthenticated remote attacker can redeem a guessed valid, unexpired code.

2

What does an attacker obtain after successfully redeeming a code?

The attacker receives the target account's email address and a User::getUserHash(users_id, '+1 year') value. That value is accepted in place of the account password for one year, enabling account takeover.

3

How narrow is the window for exploiting a generated code?

Activation and login pairing codes expire after 10 minutes. The unauthenticated code-generation endpoint can reveal the server's exact microtime, which helps an attacker narrow guesses for a known generation second.

4

Is a patched AVideo version available?

No patched version is available according to the provided advisory information.

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