Skip to main content

AVideo EUVDEUVD-2026-81435

| CVE-2026-92913 CRITICAL
Use of Insufficiently Random Values (CWE-330)
2026-09-17 VulnCheck GHSA-cv5x-3jv8-pgmr
9.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Query unauthenticated login_code oracle for server microtime
  2. Delivery
    Brute-force ~2^25 uniqid()-derived code space for known second
  3. Exploit
    Hit valid unexpired pairing code within 10-min window
  4. Execution
    Redeem code at get.json.php login_code API
  5. Persist
    Obtain victim email + 1-year getUserHash credential
  6. Impact
    Authenticate as victim, full account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Cryptographic random values
Exploitation Conditions

Exploitable against default AVideo deployments through commit c3edcc274c389816d434acadac07ee78eaf330c1 because plugin/API/set.json.php?APIName=login_code is reachable without authentication and leaks server microtime, and getRandomCode() in objects/functions.php uses uniqid()-derived pseudo-randomness. Limiting factors: the attacker must guess a code that exists only while a legitimate activation/login-pairing code is outstanding and unexpired (10-minute TTL), must align to the code's generation second and brute-force the residual ~2^25 space within that window (hence CVSS AC:H/AT:P), and success depends on a valid pairing code being live at the time of attack. No authentication, no user interaction, and no non-default configuration are required - only the timed probabilistic guess.

Impact

This is a genuine unauthenticated remote account-takeover primitive, but its real-world exploitability is meaningfully tempered by the attack complexity, which is why the vendor's CVSS 4.0 vector correctly carries AC:H and AT:P despite a 9.1 headline. The flaw is real and high-value: the CWE-330 weak PRNG (getRandomCode() built from uniqid()) collapses the code space to ~2^25 for a known generation second, and the design mistake of leaving plugin/API/set.json.php?APIName=login_code unauthenticated hands the attacker a microtime oracle that makes the 'known second' assumption practical rather than theoretical. Success yields both the target email and a User::getUserHash('+1 year') value accepted as a password substitute for a full year - a durable, high-integrity compromise. Against that, the attacker must win a probabilistic guess against a code that expires in 10 minutes, aligning microtime and brute-forcing the residual space within the window, so exploitation is a timed race rather than a single deterministic request (AT:P/AC:H). No EPSS score, no CISA KEV listing, and no public exploit code are present in the input; per the precision rules this is 'no public exploit identified at time of analysis.' There are no conflicting signals to flag beyond the tag nuance - the CVSS network vector matches the description, and prioritization should treat this as a real high-severity ATO bug on affected AVideo instances, with the important caveat that no patched version exists, so mitigation is compensating-control only.

Exploit ScenarioDerived

An unauthenticated attacker repeatedly calls plugin/API/set.json.php?APIName=login_code to read the server's exact microtime, then brute-forces the ~2^25 uniqid()-derived code space for a recently-generated, still-valid pairing code (10-minute TTL). Once a valid code is guessed, they redeem it at plugin/API/get.json.php?APIName=login_code to retrieve the victim's email and a one-year User::getUserHash credential, logging in as the victim. No public exploit code is identified at time of analysis.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 17, 2026

Unauthenticated remote attackers can achieve account takeover in AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 by guessing weakly generated activation/login pairing codes. The getRandomCode() function in objects/functions.php relies on uniqid() output, limiting the code space to roughly 2^25 values for a known generation second; the plugin/API/set.json.php?APIName=login_code endpoint leaks server microtime as an oracle, and a guessed valid code (10-minute TTL) redeemed at plugin/API/get.json.php?APIName=login_code yields the victim's email and a one-year User::getUserHash credential. No vendor patch is available and no public exploit code has been identified, though the weak PRNG and unauthenticated oracle make the attack a genuine account-takeover primitive tempered by high attack complexity (AC:H/AT:P) due to the timed probabilistic guess.

RemediationAI

No vendor-released patch is identified at time of analysis. As a compensating control, block or disable the login_code API endpoints at the web server or reverse proxy level (e.g., deny requests to plugin/API/set.json.php?APIName=login_code and plugin/API/get.json.php?APIName=login_code); the trade-off is that this disables account activation and login pairing features that rely on these codes. Implement strict rate limiting and monitoring on any remaining authentication endpoints to detect brute-force attempts, though this does not eliminate the weak PRNG. If custom development is possible, replace getRandomCode() with a CSPRNG such as random_bytes and increase the code length, then invalidate outstanding codes. Monitor logs for repeated failed code redemption attempts. Consult the vendor advisory at https://github.com/WWBN/AVideo/security/advisories/GHSA-v65f-hc7x-wj62 and the VulnCheck advisory at https://www.vulncheck.com/advisories/avideo-weak-prng-activation-code-authentication-bypass for updates.

Affected VersionsENISA

AVideo 0 ≤c3edcc274c389816d434acadac07ee78eaf330c1

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AVideo is a PHP-based video sharing platform. The vulnerability class is CWE-330 (Use of Insufficiently Random Values). The getRandomCode() function in objects/functions.php generates codes using uniqid(), which returns sprintf('%08x%05x', seconds, microseconds), and appends a single non-CSPRNG rand() character for padding. This yields a code space of about 36 × 10^6 (~2^25) values when the generation second is known. The unauthenticated endpoint plugin/API/set.json.php?APIName=login_code can be called to leak the server's exact microtime, serving as an oracle that narrows the search space. Codes expire after 10 minutes, so an attacker must brute-force the residual space within that window and align to the code's generation second. Successful redemption at plugin/API/get.json.php?APIName=login_code returns 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. CPE cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:* applies to all versions through the referenced commit.

Know when Avideo gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 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
vuln.today AI 7.4 HIGH

Remote unauthenticated (AV:N/PR:N/UI:N); AC:H for the timed microtime alignment plus brute-force within a 10-min window; C:H (email+hash) and I:H (account takeover), no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Technical POC Analysis

CWE-330: use of insufficiently random values in a security context.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

AVideo deployments are exposed to a critical account-takeover vulnerability that could let attackers obtain victim email addresses and one-year User::getUserHash credentials, potentially compromising user accounts and platform integrity. Although no public exploit identified at time of analysis and no vendor-released patch identified at time of analysis, the lack of a patch means leadership should prioritize interim mitigations and monitoring. Affected users and administrators should be concerned because compromised credentials can enable unauthorized access, data exposure, and abuse of the video platform.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting or disabling the plugin/API/set.json.php?APIName=login_code and plugin/API/get.json.php?APIName=login_code endpoints from untrusted networks, enforcing strict rate limiting and monitoring for enumeration attempts, shortening login_code TTL where possible, rotating User::getUserHash credentials, and hardening getRandomCode() to use a cryptographically secure PRNG.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Low
niche open-source (WWBN) self-hosted video CMS platform
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Avideo

View all
CVE-2023-48728 CRITICAL POC
9.6 Jan 10

A cross-site scripting (xss) vulnerability exists in the functiongetOpenGraph videoName functionality of WWBN AVideo 11.

CVE-2024-31819 CRITICAL POC
9.8 Apr 10

An issue in WWBN AVideo v.12.4 through v.14.2 allows a remote attacker to execute arbitrary code via the systemRootPath

CVE-2022-30547 CRITICAL POC
9.9 Aug 22

A directory traversal vulnerability exists in the unzipDirectory functionality of WWBN AVideo 11.6 and dev master commit

CVE-2023-49599 CRITICAL POC
9.8 Jan 10

An insufficient entropy vulnerability exists in the salt generation functionality of WWBN AVideo dev master commit 15fed

CVE-2026-28501 CRITICAL POC
9.8 Mar 06

Unauthenticated SQL injection in AVideo before 24.0.

CVE-2023-25313 CRITICAL POC
9.8 Apr 25

OS injection vulnerability in World Wide Broadcast Network AVideo version before 12.4, allows attackers to execute arbit

CVE-2022-26842 CRITICAL POC
9.6 Aug 22

A reflected cross-site scripting (xss) vulnerability exists in the charts tab selection functionality of WWBN AVideo 11.

CVE-2023-47861 CRITICAL POC
9.0 Jan 10

A cross-site scripting (xss) vulnerability exists in the channelBody.php user name functionality of WWBN AVideo 11.6 and

CVE-2022-28712 CRITICAL POC
9.0 Aug 22

A cross-site scripting (xss) vulnerability exists in the videoAddNew functionality of WWBN AVideo 11.6 and dev master co

CVE-2023-49589 HIGH POC
8.8 Jan 10

An insufficient entropy vulnerability exists in the userRecoverPass.php recoverPass generation functionality of WWBN AVi

CVE-2023-32073 HIGH POC
8.8 May 12

WWBN AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable

CVE-2023-30854 HIGH POC
8.8 Apr 28

AVideo is an open source video platform. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, low

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy