CVE-2026-92913: Use of Insufficiently Random Values in WWBN AVideo
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=login_code 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=login_code to obtain the target account's email address and a User::getUserHash(users_id, '+1 year') value, a credential accepted in place of the account password for one year, resulting in account takeover. No patched version is available.
AI Analysis
Technical Summary
AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 generates account activation and login pairing codes using getRandomCode(), which derives codes primarily from uniqid() (sprintf('%08x%05x', seconds, microseconds)) and a single rand() character for padding. This approach produces approximately 36 million possible codes per second, which is insufficiently random. The API endpoint plugin/API/set.json.php?APIName=login_code is accessible without authentication and reveals the server's exact microtime, enabling an attacker to reduce the guessing space. If an attacker guesses a valid, unexpired code (valid for 10 minutes), they can redeem it at plugin/API/get.json.php?APIName=login_code to obtain the account's email and a User::getUserHash(users_id, '+1 year') value. This hash acts as a credential accepted in place of the password for one year, allowing account takeover. There is no known patch or fix available for this vulnerability.
Potential Impact
An unauthenticated remote attacker can exploit this vulnerability to guess valid login pairing codes due to insufficient randomness and an oracle that reveals server microtime. Successful exploitation leads to disclosure of the target account's email and a long-lived credential that bypasses the password, enabling full account takeover. This compromises account confidentiality and integrity.
Mitigation Recommendations
No patch or official fix is currently available for this vulnerability. Users and administrators should monitor vendor advisories for updates. Until a fix is released, consider restricting access to the vulnerable API endpoints if possible or implementing additional access controls to reduce exposure.
CVE-2026-92913: Use of Insufficiently Random Values in WWBN AVideo
Description
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=login_code 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=login_code to obtain the target account's email address and a User::getUserHash(users_id, '+1 year') value, a credential accepted in place of the account password for one year, resulting in account takeover. No patched version is available.
CVSS v4.0
Score 9.1critical
Affected software
WWBN
AVideo
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 generates account activation and login pairing codes using getRandomCode(), which derives codes primarily from uniqid() (sprintf('%08x%05x', seconds, microseconds)) and a single rand() character for padding. This approach produces approximately 36 million possible codes per second, which is insufficiently random. The API endpoint plugin/API/set.json.php?APIName=login_code is accessible without authentication and reveals the server's exact microtime, enabling an attacker to reduce the guessing space. If an attacker guesses a valid, unexpired code (valid for 10 minutes), they can redeem it at plugin/API/get.json.php?APIName=login_code to obtain the account's email and a User::getUserHash(users_id, '+1 year') value. This hash acts as a credential accepted in place of the password for one year, allowing account takeover. There is no known patch or fix available for this vulnerability.
Potential Impact
An unauthenticated remote attacker can exploit this vulnerability to guess valid login pairing codes due to insufficient randomness and an oracle that reveals server microtime. Successful exploitation leads to disclosure of the target account's email and a long-lived credential that bypasses the password, enabling full account takeover. This compromises account confidentiality and integrity.
Mitigation Recommendations
No patch or official fix is currently available for this vulnerability. Users and administrators should monitor vendor advisories for updates. Until a fix is released, consider restricting access to the vulnerable API endpoints if possible or implementing additional access controls to reduce exposure.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-09-17T11:07:29.772Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aabcfb855bf5e2cf54dbe50
Added to database: 09/17/2026, 11:32:08 UTC
Last enriched: 09/17/2026, 11:46:43 UTC
Last updated: 09/18/2026, 02:00:32 UTC
Views: 39
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.