CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-QXVM-R42F-5P8J

GHSA-QXVM-R42F-5P8J: Authentication Bypass via Meet Plugin in AVideo

Amit Schendel
Amit Schendel
Senior Security Researcher

May 15, 2026·5 min read·12 visits

Executive Summary (TL;DR)

A flaw in AVideo's Meet plugin allows authentication bypass and arbitrary user impersonation. By exploiting an insecure passwordless login mechanism linked to video file uploads, an attacker can obtain administrative access.

AVideo is vulnerable to a critical authentication bypass within the Meet plugin. An attacker possessing the Meet shared secret can impersonate any user, including administrators, by supplying a crafted filename to the video upload endpoint, leading to complete system compromise.

Vulnerability Overview

AVideo, formerly YouPHPTube, provides an open-source platform for video hosting and sharing. The software includes a Meet plugin designed to handle video conferencing features and recorded session uploads. This plugin exposes an endpoint at plugin/Meet/uploadRecordedVideo.json.php intended to process incoming video files from authorized meeting instances.

The endpoint relies on a shared secret for access control rather than standard user session tokens. While this mechanism verifies that the request originates from a system possessing the secret, it fails to authenticate the specific user context of the upload. This architectural decision creates an authentication bypass condition tracked under CWE-287 (Improper Authentication) and CWE-288 (Authentication Bypass Using an Alternate Path).

An attacker with knowledge of the Meet shared secret can interact directly with the upload endpoint. By providing a specifically crafted filename, the attacker forces the application to establish an authenticated session for an arbitrary user. This bypasses all password and multi-factor authentication requirements for the targeted account.

Root Cause Analysis

The vulnerability originates from insecure identity derivation within the video upload processing script. When a request reaches plugin/Meet/uploadRecordedVideo.json.php, the application extracts the target user identifier directly from the submitted filename. The codebase implicitly trusts this user-controlled input as a verified identity claim.

Following the extraction of the users_id variable, the script invokes a passwordless variant of the User->login() method. This function is typically reserved for internal state management or secure single-sign-on flows where identity is cryptographically proven. In this context, it is called solely based on the unverified integer parsed from the filename.

The application generates a valid session cookie for the specified user and returns it in the HTTP response. The sole barrier to this code path is the "Meet shared secret", a static token evaluated before the upload is processed. If this token is known, the application performs no further validation to ensure the entity making the request holds authorization to access the specified user account.

Code Analysis

The flaw exists in the sequence of operations handling the uploaded file parameters. The script receives the file and parses the filename string to isolate numeric identifiers. This parsed value is directly assigned to the internal user context variable.

// Vulnerable implementation pattern
$secret = $_POST['secret'];
if ($secret !== $meet_shared_secret) {
    die("Unauthorized");
}
 
// Unsafe extraction of users_id from filename
preg_match('/_user_([0-9]+)_/', $_FILES['video']['name'], $matches);
$users_id = $matches[1];
 
// Passwordless login triggered
$user = new User($users_id);
$user->login(true); // 'true' parameter skips password verification

The remediation requires removing the passwordless login logic from the upload handler entirely. The identity of the uploading user must be determined via an existing, securely established session rather than derived from file metadata. Furthermore, operations initiated by external plugins should operate under a principle of least privilege, rather than granting arbitrary session tokens.

Exploitation Methodology

Exploiting this vulnerability requires network access to the AVideo instance and knowledge of the Meet shared secret. This secret is often configured during the initial setup of the Meet plugin and may be documented in deployment scripts, shared among administrators, or left at default values.

The attacker constructs an HTTP POST request targeting plugin/Meet/uploadRecordedVideo.json.php. The payload includes the shared secret in the authentication header or POST body, alongside a multipart form-data file upload. The filename is crafted to match the regular expression utilized by the application, injecting the integer 1 to target the default administrative account.

Upon processing the request, the application evaluates the shared secret, successfully matches the configured value, and executes the identity derivation. The server responds with a valid PHPSESSID cookie bound to the administrative user. The attacker extracts this cookie and applies it to their browser session, achieving full administrative access to the web interface.

Impact Assessment

The vulnerability results in a total compromise of the AVideo platform. By targeting the administrator account, an external attacker gains the highest level of privilege available within the application context. This allows for arbitrary configuration changes, user management, and video content manipulation.

From an administrative context, attackers routinely escalate privileges to underlying operating system execution. Modern PHP applications typically expose features such as plugin installation, theme modification, or file management that can be abused to write arbitrary PHP files to the web root. This transforms the authentication bypass into remote code execution.

The reliance on a static shared secret mitigates the risk only marginally. Shared secrets are frequently exposed through directory traversal vulnerabilities, backup file leaks, or source code repository misconfigurations. Once the secret is compromised, the vulnerability provides a reliable, persistent backdoor into the application that functions independently of password resets.

Remediation and Detection

Administrators must apply the latest security patches provided by the AVideo maintainers. The patched versions redesign the upload handling logic within the Meet plugin to rely on secure session state rather than file-derived parameters. Updating the core application and all associated plugins is required to ensure complete coverage.

Organizations utilizing the Meet plugin must rotate the "Meet shared secret" immediately. The new secret must be a cryptographically secure, highly entropic string. Administrators should verify that this secret is not hardcoded in client-side scripts or exposed in public version control repositories.

Security teams should review web server access logs for anomalous interactions with uploadRecordedVideo.json.php. Indicators of compromise include requests originating from IP addresses unrelated to the legitimate meeting infrastructure, or consecutive requests containing varying user identifiers in the upload payload. Furthermore, any passwordless session instantiation should be audited at the application layer.

Technical Appendix

CVSS Score
9.8/ 10

Affected Systems

AVideo (formerly YouPHPTube)AVideo Meet Plugin

Affected Versions Detail

Product
Affected Versions
Fixed Version
AVideo Meet Plugin
WWBN
All unpatched versionsLatest repository commit
AttributeDetail
CWE IDCWE-287 / CWE-288 / CWE-306
Attack VectorNetwork
AuthenticationShared Secret Required
ImpactAdministrative Privilege Escalation
Exploit StatusProof of Concept
Vulnerable ComponentuploadRecordedVideo.json.php

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1078Valid Accounts
Defense Evasion
CWE-287
Improper Authentication

Improper authentication mechanism allowing bypass via alternative path and unsanitized parameters.

References & Sources

  • [1]AVideo Official Repository

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•26 minutes ago•CVE-2024-29203
4.3

CVE-2024-29203: Client-Side Cross-Site Scripting via Unsandboxed Iframes and Legacy Embed Elements in TinyMCE

CVE-2024-29203 identifies a cross-site scripting (XSS) vulnerability in the content ingestion and parsing mechanics of TinyMCE rich text editor. Due to a failure to enforce sandbox attributes on dynamic iframe elements and safely handle legacy embed objects, unauthenticated attackers can inject malicious elements that execute scripts within the context of the parent application session.

Amit Schendel
Amit Schendel
1 views•5 min read
•about 2 hours ago•CVE-2026-9277
8.1

CVE-2026-9277: OS Command Injection in shell-quote via Object-Token Line Terminator Parsing Defect

A technical breakdown of the OS command injection vulnerability in the shell-quote NPM package (CVE-2026-9277 / GHSA-w7jw-789q-3m8p). The bug resides in the character-by-character backslash-escaping logic applied to the .op field of object-tokens within the quote() function, which fails to match and escape line terminators due to a regex matching oversight in JavaScript. This allows unauthenticated remote attackers to execute arbitrary shell commands if they can control inputs processed by this library.

Alon Barad
Alon Barad
7 views•6 min read
•about 4 hours ago•CVE-2026-11645
8.8

CVE-2026-11645: Out-of-Bounds Memory Access in Google Chrome V8 Engine

A high-severity memory corruption vulnerability exists in the V8 JavaScript engine of Google Chrome before versions 149.0.7827.102/103. The flaw arises from an incorrect bounds-check elimination during JIT compilation by the TurboFan optimizer, allowing remote attackers to achieve out-of-bounds read and write access inside the sandboxed renderer process.

Amit Schendel
Amit Schendel
19 views•6 min read
•about 12 hours ago•CVE-2026-50751
9.3

CVE-2026-50751: Authentication Bypass in Check Point Security Gateway IKEv1 Legacy Validation

An improper authentication vulnerability (CWE-287) exists in the legacy, deprecated Internet Key Exchange version 1 (IKEv1) key exchange protocol implementation in Check Point Security Gateways. The vulnerability is caused by a logic flow weakness during the certificate validation process for Remote Access VPN and Mobile Access (SSL VPN) connections. An unauthenticated remote attacker can exploit this weakness to bypass user authentication entirely, establishing a fully functional Remote Access VPN connection without a valid password.

Alon Barad
Alon Barad
63 views•6 min read
•1 day ago•CVE-2026-39922
6.3

CVE-2026-39922: Server-Side Request Forgery in GeoNode Service Registration Endpoint

GeoNode versions prior to 4.4.5 and 5.0.2 are vulnerable to Server-Side Request Forgery (SSRF) in the service registration endpoint. Authenticated attackers with low privileges can exploit insufficient input validation in the Web Map Service (WMS) registration module to force the application server to make outbound network queries to loopback addresses, private RFC1918 subnets, link-local scopes, and cloud metadata endpoints. This technical report details the mechanics of the vulnerability, the underlying architectural flaw, and how to effectively remediate and mitigate the associated security risks.

Alon Barad
Alon Barad
4 views•7 min read
•1 day ago•CVE-2022-0492
7.8

CVE-2022-0492: Privilege Escalation and Container Escape via cgroups v1 release_agent

CVE-2022-0492 is a high-severity missing authorization vulnerability in the Linux kernel's Control Groups (cgroups) v1 implementation. The flaw resides within the cgroup_release_agent_write function in kernel/cgroup/cgroup-v1.c, where the kernel fails to validate if the process writing to the release_agent file possesses administrative capabilities in the initial user namespace. This allows a local attacker inside a container with root privileges (UID 0) to abuse user namespaces, mount a cgroups v1 directory, modify the release_agent parameter, and execute arbitrary commands on the host system as host root, effectively achieving a complete container escape.

Amit Schendel
Amit Schendel
12 views•7 min read