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

•about 3 hours ago•CVE-2026-48861
2.1

CVE-2026-48861: HTTP Request Splitting and Smuggling via Method Parameter CRLF Injection in Elixir Mint

CVE-2026-48861 is a client-side HTTP request-line CRLF (Carriage Return Line Feed) injection vulnerability in the popular Elixir HTTP client library, Mint. The vulnerability permits HTTP Request Splitting and HTTP Request Smuggling when an application forwards untrusted, attacker-controlled inputs to Mint's HTTP client requests as either the HTTP request method or target. By embedding CRLF characters within these parameters, an attacker can terminate the request line prematurely, inject malicious headers, or pipeline entirely independent requests. These smuggled requests are then processed by upstream or downstream proxy servers as separate HTTP queries on the same TCP connection. While Mint version 1.7.0 introduced target validation to secure the request target, the HTTP request method parameter remained completely unvalidated. This flaw allows attackers to bypass routing filters, access restricted internal APIs, or poison HTTP caches under default configurations.

Amit Schendel
Amit Schendel
3 views•7 min read
•about 4 hours ago•CVE-2026-49753
6.3

CVE-2026-49753: HTTP Request/Response Smuggling via Inconsistent Content-Length Parsing in Elixir Mint Client

An Inconsistent Interpretation of HTTP Requests (HTTP Request/Response Smuggling) vulnerability in the Elixir Mint HTTP client allows attacker-controlled HTTP/1 servers to desynchronize response framing on shared connections due to over-lenient parsing of sign-prefixed Content-Length headers.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 4 hours ago•CVE-2026-49754
8.2

CVE-2026-49754: Denial of Service via Unbounded HTTP/2 CONTINUATION Frame Accumulation in Elixir Mint

An allocation of resources without limits or throttling vulnerability in Elixir Mint allows an attacker-controlled HTTP/2 server to exhaust memory in a Mint client. The vulnerability is exploited by sending a HEADERS frame without the END_HEADERS flag followed by an infinite stream of CONTINUATION frames. Because the client lacks limits on the incoming header-block accumulator, the client continuously consumes memory until an out-of-memory crash occurs.

Amit Schendel
Amit Schendel
6 views•6 min read
•about 5 hours ago•CVE-2026-48596
2.1

CVE-2026-48596: Improper Neutralization of CRLF Sequences in Elixir Tesla Multipart HTTP Client

CVE-2026-48596 is an Improper Neutralization of CRLF Sequences in HTTP Headers (HTTP Request/Response Splitting, CWE-113) in the Elixir Tesla HTTP client. The flaw resides in how multipart content-type parameters are joined and serialized, enabling attackers to inject arbitrary headers or split HTTP requests when applications pass untrusted inputs to the parameters of multipart uploads.

Alon Barad
Alon Barad
4 views•6 min read
•about 5 hours ago•CVE-2026-48594
8.2

CVE-2026-48594: Decompression Bomb Denial of Service in Elixir Tesla HTTP Client

An improper handling of highly compressed data (decompression bomb) vulnerability exists in the Elixir Tesla HTTP client when utilizing response decompression middlewares. By serving highly compressed responses or stacked content-encoding headers, a malicious server can cause arbitrary heap exhaustion, leading to a denial of service (DoS) crash in the BEAM virtual machine.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 6 hours ago•CVE-2026-48595
8.2

CVE-2026-48595: Cross-Origin Credential Leakage in Elixir Tesla Client via Case-Sensitive Redirect Filter Bypass

A high-severity security vulnerability in Elixir's Tesla HTTP client library (CVE-2026-48595) allows unauthenticated remote attackers to harvest sensitive credentials, including Authorization headers and cookies. The flaw resides in the 'Tesla.Middleware.FollowRedirects' component, which performs case-sensitive lookups when stripping credentials during cross-origin redirects. Because HTTP headers are case-insensitive by RFC specifications, standard canonical casing (e.g., 'Authorization') bypasses the lowercase-only blocklist, leaking tokens to untrusted external redirect destinations.

Alon Barad
Alon Barad
5 views•5 min read