Mar 30, 2026·5 min read·29 visits
Missing authorization checks in AVideo <= 26.0 allow unauthenticated extraction of sensitive data, including PayPal logs and user records, via exposed JSON endpoints.
WWBN AVideo versions up to and including 26.0 suffer from a systematic authorization failure (CWE-862). Unauthenticated attackers can query multiple JSON endpoints across various plugins to extract sensitive system, financial, and user data. The vulnerability resides in the omission of access control checks within data table listing scripts.
WWBN AVideo, an open-source broadcast network platform, implements an extensible plugin architecture to handle various auxiliary features such as payments, live streaming, and AI transcription. The vulnerability exists within the administrative backend components of these plugins, specifically affecting versions up to and including 26.0.
The platform exhibits a systematic missing authorization flaw (CWE-862) across at least 19 distinct plugin endpoints. These endpoints handle data presentation for administrative tables and directly execute database queries to populate data views. The application exposes these administrative interfaces to the public internet by default.
Because the core bootstrapping configuration does not enforce global authentication middleware for API or JSON endpoints, the application relies on component-level authorization checks. The developers omitted these checks in the list.json.php files, creating a direct, unauthenticated data exposure vector.
The root cause of this vulnerability is the absence of access control validations at the entry point of the data listing controllers. AVideo uses a standard CRUD paradigm where database tables are managed by specific files for adding, deleting, and listing records.
While the files responsible for modifying state typically implement administrative authorization checks, the scripts designated for rendering data tables do not. When a client requests these endpoints, the PHP script initializes the environment via configuration.php but immediately proceeds to execute data retrieval logic without verifying the user session.
The vulnerable endpoints invoke static methods on classes extending the ObjectYPT core class, predominantly the getAll() method. This method acts as an Object-Relational Mapping (ORM) wrapper that executes an unrestricted SELECT * query against the corresponding plugin's database table, serializes the result set into JSON, and returns it to the client.
An analysis of the vulnerable source code reveals a consistent structural flaw across multiple plugins. The application logic directly exposes database contents to any HTTP GET or POST request targeting the endpoint.
In the unpatched state, the list.json.php file within the PayPalYPT plugin imports the necessary class definitions and immediately fetches all records. The application serializes the array returned by the static method and echoes it to the output buffer without validating the request context.
<?php
require_once $global['systemRootPath'] . 'plugin/PayPalYPT/Objects/PayPalYPT_log.php';
header('Content-Type: application/json');
$rows = PayPalYPT_log::getAll();
$total = PayPalYPT_log::getTotal();
echo json_encode(['data' => $rows]);
?>The vendor remediated this vulnerability in commit 1729a955f8de7e26552eb728b3d1e6f4b1b9352e by implementing an explicit authorization gate. The patch introduces a conditional check utilizing the User::isAdmin() method before any data access operations occur, terminating the script execution if the check fails.
<?php
require_once $global['systemRootPath'] . 'plugin/PayPalYPT/Objects/PayPalYPT_log.php';
header('Content-Type: application/json');
+ if (!User::isAdmin()) {
+ die(json_encode(['error' => true, 'msg' => "You can't do this"]));
+ }
$rows = PayPalYPT_log::getAll();
$total = PayPalYPT_log::getTotal();
echo json_encode(['data' => $rows]);
?>Exploitation of this vulnerability requires no specialized tools, prior authentication, or specific network positioning beyond reachability to the target AVideo web interface. The attacker only needs to identify a running instance of AVideo version 26.0 or earlier.
The attacker issues a standard HTTP GET request directly to one of the unprotected list.json.php endpoints. Navigating to /plugin/PayPalYPT/View/PayPalYPT_log/list.json.php initiates the vulnerable code path and triggers the database query.
The server processes the request and responds with an HTTP 200 OK status, returning a JSON payload containing the complete contents of the targeted database table. The attacker can automate this process using simple scripts to enumerate and extract all exposed tables across the 19 vulnerable plugins.
The security impact of this vulnerability is high due to the volume and sensitivity of the exposed information. Attackers gain unauthorized read access to critical financial and operational data that administrators assume is protected behind authentication barriers.
The exposure of the PayPalYPT_log and Btc_payments tables compromises payment gateway configurations, transaction histories, and active PayPal tokens. Attackers can leverage these tokens to manipulate financial transactions or access connected financial accounts associated with the platform deployment.
In addition to financial data, the vulnerability exposes user privacy records and internal system intelligence. Endpoints such as Users_extra_info and Live_servers reveal personally identifiable information and infrastructure configurations, enabling further targeted attacks against the user base or the underlying server environment.
The WWBN AVideo maintainers addressed this vulnerability in development via commit 1729a955f8de7e26552eb728b3d1e6f4b1b9352e. System administrators must upgrade their AVideo installations to the patched release succeeding version 26.0 immediately to secure their environments.
If an immediate upgrade is unfeasible, administrators can manually apply the patch by editing the affected list.json.php files across the plugin/ directory. The remediation requires inserting the User::isAdmin() check at the top of each file, directly following the inclusion of the core configuration files.
Security teams should conduct a thorough audit of the AVideo filesystem to identify any custom or third-party plugins that implement similar endpoints. Any file exposing an unrestricted data retrieval method call must be retrofitted with identical access control validations to prevent variant attacks.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N| Product | Affected Versions | Fixed Version |
|---|---|---|
AVideo WWBN | <= 26.0 | Post-26.0 (Commit 1729a955f8de7e26552eb728b3d1e6f4b1b9352e) |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-862 |
| Attack Vector | Network |
| CVSS Score | 7.5 |
| Impact | High (Data Confidentiality) |
| Exploit Status | poc |
| Authentication Required | None |
The software does not perform an authorization check when an actor attempts to access a resource or perform an action.
A critical use-after-free vulnerability in Microsoft QUIC allows unauthenticated remote attackers to disclose sensitive system memory over the network. The vulnerability is caused by a race condition during rapid connection termination and asynchronous packet retransmission.
CVE-2026-62899 is a security feature bypass vulnerability in the Microsoft .NET runtime environment on non-Windows platforms. The flaw manifests as an HTTP Request/Response Smuggling vulnerability (CWE-444) within the managed implementation of the System.Net.HttpListener class. This allows unauthenticated remote attackers to desynchronize request boundaries when the backend .NET application is hosted behind an upstream reverse proxy.
CVE-2026-62901 is a high-severity Denial of Service (DoS) vulnerability in the Microsoft .NET ecosystem, specifically affecting the System.Net.WebSockets frame-processing engine and associated network transports. Under certain circumstances, a remote, unauthenticated attacker can exploit this vulnerability by sending malformed or specifically crafted WebSocket packets over the network, causing a targeted .NET application server to enter a tight infinite loop. This behavior results in 100% CPU utilization on the executing thread, starving application resources and leading to a complete Denial of Service.
A high-severity Local Elevation of Privilege (EoP) vulnerability exists in the Microsoft .NET runtime and Visual Studio on Unix-like platforms. The flaw arises from an unchecked return value (CWE-252) during the initialization of the Diagnostics Inter-Process Communication (IPC) socket. By exploiting this vulnerability, a low-privileged local attacker can execute arbitrary commands with the privileges of a higher-privileged .NET process.
CVE-2026-70354 is a high-severity local code execution vulnerability affecting multiple versions of the Microsoft .NET runtime, .NET Framework, and Microsoft Visual Studio. The vulnerability is located within the Windows Presentation Foundation (WPF) layout and rendering subsystems, specifically within the parsing and rasterization of complex graphical layouts, XPS files, or custom font structures.
An integer overflow vulnerability (CWE-190) exists in the layout and rendering engines of the Microsoft .NET Framework and .NET Core. This flaw resides within the processing of complex coordinate maps, font tables, and image metadata in Windows Presentation Foundation (WPF) and Windows Forms (WinForms). By convincing a user to open a crafted vector graphic or layout document, a local attacker can exploit this arithmetic error to induce an undersized memory allocation, leading to a heap-based buffer overflow and subsequent arbitrary code execution within the context of the vulnerable application.