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



CVE-2026-33513

CVE-2026-33513: Unauthenticated Local File Inclusion in WWBN AVideo API Plugin

Alon Barad
Alon Barad
Software Engineer

Mar 23, 2026·6 min read·24 visits

Executive Summary (TL;DR)

Unauthenticated Local File Inclusion (LFI) vulnerability in WWBN AVideo versions up to 26.0 via the 'language' parameter in the API plugin, potentially enabling Remote Code Execution.

CVE-2026-33513 is a high-severity vulnerability within the API plugin of WWBN AVideo (formerly YouPHPTube). The flaw resides in the locale API name handling, exposing an unauthenticated endpoint to directory traversal. Attackers can leverage this vulnerability to perform arbitrary PHP file inclusion, leading to information disclosure and potential Remote Code Execution (RCE) on the underlying server.

Vulnerability Overview

WWBN AVideo is an open-source video platform that utilizes a plugin-based architecture for extended functionality. The API plugin, specifically within the locale handling functionality, exposes a high-severity vulnerability tracked as CVE-2026-33513. This flaw allows unauthenticated attackers to perform Local File Inclusion (LFI) operations via crafted HTTP requests.

The vulnerability manifests in the get.json.php endpoint, which processes API requests without requiring authentication or session validation. By manipulating the APIName and language parameters, attackers can force the application to traverse the directory structure and include arbitrary PHP files from the local filesystem. This maps directly to CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) and CWE-98 (PHP Remote File Inclusion).

Exploitation of this vulnerability results in immediate information disclosure, as attackers can read sensitive configuration files or application source code. If the attacker can place a PHP file on the target filesystem through a separate upload mechanism, the vulnerability escalates to arbitrary Remote Code Execution (RCE) within the context of the web server process.

Root Cause Analysis

The root cause of CVE-2026-33513 lies in the inadequate validation and sanitization of user-supplied input within the get_api_locale() method. This method is invoked when the APIName parameter is set to locale during a request to the plugin/API/get.json.php endpoint. The endpoint explicitly bypasses standard domain and authentication checks by setting $global['bypassSameDomainCheck'] = 1.

Once the endpoint receives the request, it extracts the language parameter from the HTTP GET or POST payload and processes it. The application converts the input to lowercase using strtolower() but fails to perform any path canonicalization or sanitization. It does not strip directory traversal sequences such as ../ or validate the input against an allowed list of locale identifiers.

The application then constructs a file path by concatenating the base system root path, the locale/ directory string, and the user-supplied language parameter. This constructed path is passed directly to the file_exists() function and subsequently to a PHP include statement. Because the include directive evaluates the target file as PHP code, an attacker can specify an arbitrary local file path to be executed by the interpreter.

Code Analysis

The vulnerable code path begins in plugin/API/API.php within the get_api_locale() method. The method extracts the language parameter and constructs the file path without sanitization. The inclusion of the unsanitized $parameters['language'] variable enables the path traversal directly into the include statement.

// Vulnerable code in plugin/API/API.php
$parameters['language'] = strtolower($parameters['language']);
$file = "{$global['systemRootPath']}locale/{$parameters['language']}.php";
 
if (!file_exists($file)) {
    return new ApiObject("This language does not exists");
}
include $file;

Because no official patch is currently available, remediation requires manual intervention by developers. A robust fix must implement strict path validation using PHP's realpath() function. This function resolves all symbolic links and traversal characters, allowing the application to verify that the final resolved path resides strictly within the intended locale directory.

// Recommended mitigation code
$baseDir = realpath($global['systemRootPath'] . 'locale/');
$requestedFile = realpath($baseDir . '/' . $parameters['language'] . '.php');
 
// Verify the resolved path starts with the base directory
if ($requestedFile === false || strpos($requestedFile, $baseDir) !== 0) {
    return new ApiObject("Invalid locale specified");
}
include $requestedFile;

Exploitation

Exploitation requires sending a single, unauthenticated HTTP GET request to the vulnerable AVideo instance. The attacker targets the /plugin/API/get.json.php endpoint, setting APIName=locale to trigger the vulnerable code path. The payload is injected into the language parameter using standard directory traversal sequences.

GET /plugin/API/get.json.php?APIName=locale&language=../view/about HTTP/1.1
Host: target.example.com

In this information disclosure scenario, the application constructs the path locale/../view/about.php and executes the about.php file. The server returns the rendered HTML of the target page within the API response. Attackers can iterate through known application paths to extract sensitive data, hardcoded credentials, or internal configuration details.

To achieve Remote Code Execution, the attacker must first upload a malicious PHP file to the server. This typically involves leveraging secondary features such as avatar uploads, video attachments, or inducing errors to poison log files. Once the payload is staged on the filesystem, the attacker references its location via the traversal vector. For example, accessing language=../../videos/user_avatar/shell executes the staged shell.php payload, granting full command execution capabilities.

Impact Assessment

The vulnerability carries a High severity CVSS v3.1 score of 8.6, reflecting the minimal complexity and lack of authentication required for exploitation. The attack vector is strictly network-based, allowing remote adversaries to target public-facing AVideo installations over standard HTTP/HTTPS ports. No user interaction or specialized privileges are necessary.

The primary impact is a total loss of confidentiality regarding the application's source code and configuration. By reading files such as configuration.php, attackers can extract database credentials, cryptographic keys, and internal API tokens. This information typically enables horizontal movement within the infrastructure or direct access to the underlying backend systems.

The secondary, more severe impact is the potential for Remote Code Execution. While RCE depends on the existence of a writable directory accessible via the web server or another file upload vector, modern web applications rarely lack such mechanisms. Successful RCE grants the attacker the execution privileges of the web server process, leading to full system compromise, data exfiltration, and persistent localized access.

Remediation

As of the vulnerability's disclosure, no official patched versions are available for AVideo. System administrators must apply immediate mitigations to protect exposed installations. The most effective interim solution is to disable the API plugin entirely via the AVideo plugin manager if the functionality is not business-critical.

For environments where the API plugin must remain active, administrators should implement Web Application Firewall (WAF) rules to inspect incoming traffic targeting the get.json.php endpoint. The WAF must block any requests where the language parameter contains directory traversal characters such as ../ or ..\. This provides a temporary protective layer against automated exploitation attempts.

Developers maintaining custom AVideo deployments must manually patch the get_api_locale() method. The implementation must transition away from using PHP include statements for language file processing. The optimal architectural fix involves migrating locale data to JSON format and parsing it with json_decode(), completely eliminating the possibility of executing arbitrary code during the localization process.

Official Patches

WWBN AVideoGitHub Security Advisory (No patch currently available)

Technical Appendix

CVSS Score
8.6/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

Affected Systems

WWBN AVideo <= 26.0

Affected Versions Detail

Product
Affected Versions
Fixed Version
AVideo
WWBN
<= 26.0None
AttributeDetail
CWE IDCWE-22
Attack VectorNetwork
CVSS v3.1 Score8.6 (High)
ImpactInformation Disclosure / RCE
Exploit StatusProof of Concept
AuthenticationNone Required
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1083File and Directory Discovery
Discovery
T1005Data from Local System
Collection
T1059.004Unix Shell
Execution
CWE-22
Path Traversal

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Vulnerability Timeline

Public disclosure of the vulnerability and assignment of CVE-2026-33513
2026-03-23
Publication of GitHub Advisory GHSA-8fw8-q79c-fp9m
2026-03-23

References & Sources

  • [1]WWBN AVideo GitHub Security Advisory GHSA-8fw8-q79c-fp9m
  • [2]CVE-2026-33513 Record
  • [3]Wiz Vulnerability Database - CVE-2026-33513

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

•1 day ago•CVE-2026-58197
8.8

CVE-2026-58197: Host Escape and Lateral Movement via Insecure Container Network Defaults in ToolHive

A high-severity access control vulnerability in ToolHive CLI before v0.30.1 and ToolHive Studio before v0.38.0 allows local containerized MCP servers to bypass network isolation. This enables malicious workloads to establish TCP/IP connections to administrative and control plane endpoints exposed on the host loopback interface.

Amit Schendel
Amit Schendel
8 views•8 min read
•1 day ago•CVE-2026-63405
5.9

CVE-2026-63405: Insufficient Verification of Data Authenticity in AnyCable Pusher REST API

AnyCable is a real-time communication server. Prior to version 1.6.15, its Pusher-compatible REST API suffered from an authentication bypass vulnerability because it failed to verify that the request body matched the signature-validated body_md5 parameter. This allows attackers to perform replay attacks with modified body contents.

Amit Schendel
Amit Schendel
9 views•5 min read
•1 day ago•CVE-2026-64847
6.8

CVE-2026-64847: Indefinite Denial of Service via Undrained Stderr in AnyIO Process Pool Workers

A denial-of-service vulnerability exists in AnyIO prior to version 4.14.2. Standard error streams of process-pool workers are connected to an operating system pipe that is never drained by the parent process. This allows a worker to fill the pipe buffer and deadlock indefinitely.

Amit Schendel
Amit Schendel
8 views•6 min read
•2 days ago•CVE-2026-63349
7.0

CVE-2026-63349: Privilege Dropping Bypass and Denial of Service in AnyIO Subprocess Module

CVE-2026-63349 is a critical privilege-dropping bypass vulnerability in the AnyIO asynchronous framework (versions 4.14.0 and 4.14.1) on POSIX platforms. Due to a variable assignment typo, supplementary groups specified by the developer are not correctly propagated to the execution backend, resulting in subprocesses retaining the parent process's elevated supplementary group permissions.

Alon Barad
Alon Barad
14 views•5 min read
•2 days ago•CVE-2026-63406
5.9

CVE-2026-63406: Information Disclosure via Insecure Telemetry and Hardcoded Credentials in AnyCable-Go

CVE-2026-63406 is an information disclosure vulnerability in AnyCable-go prior to version 1.6.15. The built-in telemetry client is enabled by default with a hardcoded public authentication token ('secret'). This client digests highly sensitive configuration parameters and command-line arguments, including JWT secrets and RPC secrets, into a stable SHA-256 fingerprint. This fingerprint is sent over public networks, exposing those administrative secrets to offline dictionary and brute-force attacks if intercepted.

Alon Barad
Alon Barad
7 views•5 min read
•2 days ago•CVE-2026-84992
6.1

CVE-2026-84992: Cross-Site Scripting (XSS) via Fenced Code Block Parsing in md-editor-v3

CVE-2026-84992 is a Cross-Site Scripting (XSS) vulnerability affecting md-editor-v3 before version 6.5.4. It occurs because the fenced-code block language parser directly interpolates unescaped language metadata into unquoted HTML attributes inside the custom rendering callback. This bypasses the built-in XSSPlugin which runs during the parsing phase, before rendering.

Amit Schendel
Amit Schendel
9 views•6 min read