Skip to main content

WWBN AVideo CVE-2026-40935

MEDIUM
Guessable CAPTCHA (CWE-804)
2026-04-21 security-advisories@github.com
5.3
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Establish unauthenticated PHP session with AVideo server
  2. Delivery
    Request /getCaptcha.php?ql=1 to force 1-character CAPTCHA into session
  3. Exploit
    Iterate all 33 alphabet symbols in CAPTCHA submission field
  4. Execution
    Failed attempts leave session token unconsumed
  5. Persist
    Correct guess bypasses Captcha::validation()
  6. Impact
    Submit password reset or registration as automated bot

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication CAPTCHA/guessable mechanism
Exploitation Conditions

No special server configuration is required - the vulnerability is present in any default AVideo 29.0 or prior deployment that has CAPTCHA-protected endpoints enabled (user registration, password recovery, or contact form). The attacker must be able to establish a PHP session with the server (unauthenticated, requires only network access) and issue HTTP GET requests to /objects/getCaptcha.php with the ql=1 parameter before submitting to a CAPTCHA-validated endpoint. The primary limiting factor is per-session scope: each brute-force attempt requires a fresh CAPTCHA generation step, but since session creation itself requires no authentication, this is not a meaningful barrier. Exploitation is bounded only by the 33-symbol alphabet when ql=1, giving a deterministic worst-case of 33 requests per target action.

Impact

The CVSS 3.1 score of 5.3 (Medium) correctly captures the narrow integrity impact: the vulnerability does not directly expose data or crash the server but removes the only bot-protection layer from several sensitive endpoints. The EPSS score of 0.03% (8th percentile) suggests low observed exploitation probability at time of analysis, likely reflecting AVideo's limited deployment scale rather than genuine attack difficulty. In contrast, the SSVC decision framework independently rates the attack as automatable with POC-level exploitation, which is consistent with the code evidence - the attack requires no specialized tooling, no authentication, and fewer than 33 HTTP requests per session. Real-world risk concentrates on account takeover via automated password reset, bulk spam registrations, and contact form abuse. There is no CVSS/description conflict: the network vector, low complexity, and no-privilege ratings are all consistent with the actual exploit mechanics. The key limiting factor is deployment prevalence - AVideo is a niche self-hosted platform, constraining the aggregate attack surface compared to a similar flaw in a ubiquitous product.

Exploit ScenarioDerived

An unauthenticated attacker targeting the AVideo password recovery form sends a single request to /objects/getCaptcha.php?ql=1 within their session, causing the server to store a one-character token drawn from a 33-symbol alphabet. The attacker then submits password reset requests iterating through all 33 possible characters in the CAPTCHA field; because failed attempts leave the session token intact, the correct character is found within 33 requests and CAPTCHA validation passes, enabling automated account takeover. No POC tool has been publicly released, but the attack is fully reproducible with any scripted HTTP client given the advisory's technical detail.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 24, 2026

CAPTCHA bypass in WWBN AVideo 29.0 and prior enables unauthenticated attackers to defeat bot protection on user registration, password recovery, and contact form endpoints in at most 33 HTTP requests per session. Two cooperating flaws are responsible: the getCaptcha.php endpoint accepts the word-length parameter directly from the query string without bounds checking, allowing an attacker to force a 1-character CAPTCHA, and failed validation attempts do not invalidate the stored session token, enabling exhaustive brute-forcing of the 33-symbol alphabet. No CISA KEV listing exists, though SSVC rates the attack as automatable with POC-level exploitation, and the effective attack complexity is trivially low regardless of the AC:L CVSS rating.

RemediationAI

The upstream fix is available in commit bf1c76989e6a9054be4f0eb009d68f0f2464b453 at https://github.com/WWBN/AVideo/commit/bf1c76989e6a9054be4f0eb009d68f0f2464b453; however, no tagged release version incorporating this fix has been independently confirmed - the composer package wwbn/avideo lists the fix version as None, so version-pinned remediation via Composer is not yet verifiable. Operators should apply the commit directly from the repository. As immediate compensating controls: patch objects/getCaptcha.php to enforce integer-cast clamping on ql (minimum 5, maximum 8), and patch objects/captcha.php to unconditionally call unset($_SESSION['palavra']) at the top of the validation method before any comparison, ensuring failed attempts always consume the token. A secondary control is to implement per-session or per-IP rate limiting at the WAF or web server layer on CAPTCHA-protected endpoints, limiting submissions to a small number (e.g., 5) per session - note this may cause friction for legitimate users with poor network stability. Monitor the AVideo GitHub releases page for a tagged version that includes this fix.

Affected Packages

composer wwbn/avideo no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in composer

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 open source self-hosted video platform (cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:*). The root cause is CWE-804 (Guessable CAPTCHA), arising from two cooperating defects in getCaptcha.php and captcha.php. In getCaptcha.php, the ql (quantity of letters) parameter is read from $_GET with no type coercion, minimum, or upper bound: requesting ql=1 instructs the server to generate a single-character CAPTCHA word stored in the caller's PHP session. In Captcha::validation(), the session token ($_SESSION['palavra']) is only unset on a successful match, not on failure, so an attacker can replay guesses against the same session-bound token indefinitely. The alphabet used is 33 unique case-insensitive characters - A-Z minus O, plus digits 2-9 - meaning a 1-character CAPTCHA is exhaustible in at most 33 requests. The fix in commit bf1c76989e6a9054be4f0eb009d68f0f2464b453 clamps ql to [5, 8] via integer casting and moves token invalidation to unconditionally fire on any validation attempt, regardless of outcome.

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 (github) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

Network-accessible with no authentication or user interaction required; integrity impact is low (CAPTCHA bypass enabling form abuse) with no confidentiality or availability effect.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

DescriptionCVE.org

WWBN AVideo is an open source video platform. In versions 29.0 and prior, objects/getCaptcha.php accepts the CAPTCHA length (ql) directly from the query string with no clamping or sanitization, letting any unauthenticated client force the server to generate a 1-character CAPTCHA word. Combined with a case-insensitive strcasecmp comparison over a ~33-character alphabet and the fact that failed validations do NOT consume the stored session token, an attacker can trivially brute-force the CAPTCHA on any endpoint that relies on Captcha::validation() (user registration, password recovery, contact form, etc.) in at most ~33 requests per session. Commit bf1c76989e6a9054be4f0eb009d68f0f2464b453 contains a fix.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Prevalence
Low
niche open source self-hosted video platform
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:*

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