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·18 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

•22 minutes ago•GHSA-2RP4-X2J7-QMCC
8.2

GHSA-2RP4-X2J7-QMCC: Stored Cross-Site Scripting via Draft Names in Craft CMS Control Panel

An authenticated stored Cross-Site Scripting (XSS) vulnerability exists in the Control Panel helper of Craft CMS before version 5.10.8. Due to lack of HTML entity encoding within the elementLabelHtml method, unescaped draft names are rendered directly into administrative interfaces.

Amit Schendel
Amit Schendel
0 views•6 min read
•about 1 hour ago•GHSA-7HXC-F267-H5Q7
4.9

GHSA-7HXC-F267-H5Q7: Path Traversal via Validation-then-Normalization in Craft CMS

A path traversal vulnerability exists in the local filesystem driver of Craft CMS. Due to validation occurring before path normalization, directory containment checks can be bypassed by utilizing specific protocol schemes like 'file://' along with directory traversal sequences. This allows authenticated users with administrative privileges to access or manipulate files outside the defined storage root directory.

Alon Barad
Alon Barad
0 views•8 min read
•about 2 hours ago•GHSA-RVMM-V933-JGXQ
5.3

GHSA-rvmm-v933-jgxq: Missing Authorization Check in Craft CMS ChartsController

An authorization bypass vulnerability in Craft CMS allows unauthenticated or low-privileged users to query and obtain sensitive time-series user registration counts and demographic metrics. This is due to a missing authorization check inside the actionGetNewUsersData endpoint of the ChartsController class.

Alon Barad
Alon Barad
1 views•6 min read
•about 3 hours ago•GHSA-596P-6JV8-775V
5.1

GHSA-596p-6jv8-775v: Authenticated Leak of Secret Environment Variables in Craft CMS

An authenticated information disclosure vulnerability in Craft CMS allows high-privilege administrators to extract sensitive environment variables, including the CRAFT_SECURITY_KEY and database credentials, using a blind error-based template injection attack within element select condition rules.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 4 hours ago•CVE-2026-71554
5.3

CVE-2026-71554: HTTP Request Smuggling via Duplicate Host Headers in h2 Protocol Stack

A protocol-parsing vulnerability in the pure-Python HTTP/2 library 'h2' (versions <= 4.4.0) allows unauthenticated remote attackers to perform HTTP Request Smuggling (CWE-444). The vulnerability exists because the library does not validate the uniqueness of 'Host' headers in incoming HTTP/2 request streams. When an upstream gateway parses such requests and downgrades them to HTTP/1.1 for internal backend servers, the resulting stream contains duplicate Host headers, which leads to parsing inconsistency and potential bypass of security filters.

Alon Barad
Alon Barad
3 views•5 min read
•about 5 hours ago•GHSA-957R-QF9P-67XW
4.9

GHSA-957R-QF9P-67XW: Arbitrary File Read via SplFileObject in Craft CMS Twig Extension

An information disclosure vulnerability in Craft CMS allows users with administrative or non-sandboxed template-authoring privileges to read arbitrary system and configuration files. The issue stems from an incomplete class instantiation blocklist in the Twig template extension, which omitted PHP's built-in SplFileObject class.

Alon Barad
Alon Barad
4 views•6 min read