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-33717

CVE-2026-33717: Remote Code Execution in WWBN AVideo via Persistent PHP File Upload

Alon Barad
Alon Barad
Software Engineer

Mar 25, 2026·5 min read·16 visits

Executive Summary (TL;DR)

Authenticated attackers can upload and execute arbitrary PHP code by exploiting a logic flaw in the video fetching mechanism of WWBN AVideo <= 26.0.

WWBN AVideo versions up to and including 26.0 are vulnerable to authenticated Remote Code Execution (RCE) via an unrestricted file upload flaw. The vulnerability involves improper error handling during remote video fetching, allowing an attacker to bypass file cleanup routines and persistently store malicious PHP scripts in a web-accessible directory.

Vulnerability Overview

WWBN AVideo up to version 26.0 contains a high-severity vulnerability (CVE-2026-33717) allowing authenticated attackers to execute arbitrary code. The flaw resides in the file download functionality utilized by the video encoder module.

The application fetches remote files specified by user-supplied URLs and stores them locally in a web-accessible cache directory. It performs file type validation operations after writing the file to disk rather than before.

A specific error-handling logic flaw allows attackers to force the script to terminate prematurely before the temporary file is deleted. This failure to execute cleanup routines leaves the malicious payload permanently accessible via the web server.

Root Cause Analysis

The underlying bug class is CWE-434: Unrestricted Upload of File with Dangerous Type, combined with improper error handling. The vulnerable function downloadVideoFromDownloadURL() within objects/aVideoEncoder.json.php processes user-supplied download URLs.

When a user requests a remote download, the server immediately writes the contents of the remote file into the videos/cache/tmpFile/ directory. The application uses the original filename and extension derived from the URL via the PHP basename() function. No initial validation restricts the file extension during this initial write operation.

Following the file write, the application evaluates the user-supplied resolution parameter. If the parameter contains an invalid string, the application invokes the forbiddenPage() function. This function executes a die() statement, abruptly terminating the PHP process.

Because the script exits prematurely, the execution flow never reaches the cleanup routines responsible for moving or deleting the temporary file. The lack of cleanup renders the downloaded file persistent within the web-accessible directory.

Code Analysis

The vulnerable implementation relies entirely on post-download validation. The script downloads the file to the temporary directory and subsequently validates parameters like the video resolution. If validation fails, process termination prevents file cleanup.

The official patch addresses this by reordering the validation logic and implementing an explicit extension allowlist. Input validation now occurs prior to any file I/O operations.

// File: objects/aVideoEncoder.json.php
// 1. Move resolution validation to before the download
if (!empty($_REQUEST['resolution']) && !in_array($_REQUEST['resolution'], $global['avideo_possible_resolutions'])) {
    $msg = "This resolution is not possible {$_REQUEST['resolution']}";
    forbiddenPage($msg); // die() here is now safe because no file is created yet
}
 
// 2. Validate extension inside download function
function downloadVideoFromDownloadURL($downloadURL) {
    // ...
    $urlExtension = strtolower(pathinfo(parse_url($downloadURL, PHP_URL_PATH), PATHINFO_EXTENSION));
    if (!in_array($urlExtension, $global['allowedExtension'])) {
        __errlog("Extension not allowed: " . $urlExtension);
        return false;
    }
    // ... proceed to download
}

The implementation of in_array($urlExtension, $global['allowedExtension']) ensures that only explicitly permitted file types are written to disk, comprehensively eliminating the CWE-434 vector.

Exploitation Methodology

Exploitation requires a user account with minimal privileges, specifically standard user or encoder permissions. The attacker needs secondary server infrastructure to host the initial payload.

The attacker hosts a malicious PHP script on their controlled infrastructure. They then transmit a direct request to the objects/aVideoEncoder.json.php endpoint on the target AVideo server.

The request must contain two specific parameters: a downloadURL pointing to the malicious PHP script and a resolution parameter containing an explicitly invalid value. The target server fetches the PHP file and writes it to the videos/cache/tmpFile/ directory.

The invalid resolution parameter forces the application to evaluate the input and call forbiddenPage(). The script aborts, leaving the PHP file in the temporary directory. The attacker subsequently accesses the file via a predictable URL path to achieve code execution.

Impact Assessment

Successful exploitation yields arbitrary remote code execution within the context of the web server service account. This grants the attacker comprehensive control over the application environment and direct filesystem access.

The attacker gains read and write access to the application database credentials, configuration files, and stored media. This constitutes a complete loss of confidentiality and integrity according to the CVSS v3.1 scoring framework.

The vulnerability carries a CVSS v3.1 base score of 8.8. The attack complexity is low, and no user interaction is required. The requirement for low-level authentication prevents this vulnerability from reaching a 9.8 critical severity rating.

Remediation and Mitigation

Organizations operating WWBN AVideo must upgrade to version 26.1 or later. The patch completely eliminates the vulnerability by validating input before allocating storage and strictly limiting allowed file extensions.

If immediate patching is not technically feasible, administrators can apply mitigation controls at the web server layer. Configuring Nginx or Apache to deny execution of PHP scripts within the /videos/cache/ directory structure neutralizes the exploit.

Administrators should monitor web server access logs for anomalous requests to objects/aVideoEncoder.json.php. Requests featuring unusual or malformed resolution parameters alongside remote downloadURL inputs strongly indicate exploitation attempts.

Official Patches

WWBNOfficial patch fixing the unrestricted file upload and error handling flow.

Fix Analysis (1)

Technical Appendix

CVSS Score
8.8/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Probability
0.04%

Affected Systems

WWBN AVideo <= 26.0PHP Web Server Environments hosting AVideo

Affected Versions Detail

Product
Affected Versions
Fixed Version
AVideo
WWBN
<= 26.026.1
AttributeDetail
CWE IDCWE-434
Attack VectorNetwork
CVSS v3.18.8
EPSS0.04%
ImpactHigh (RCE)
Exploit StatusWeaponized
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1105Ingress Tool Transfer
Command and Control
T1059Command and Scripting Interpreter
Execution
CWE-434
Unrestricted Upload of File with Dangerous Type

Unrestricted Upload of File with Dangerous Type

Vulnerability Timeline

Vulnerability disclosed and published on CVE and GitHub Advisory databases
2026-03-23
Official patch released by WWBN developers
2026-03-23
Detailed technical analysis published by security researchers (TheHackerWire)
2026-03-23
Research report finalized
2026-03-25

References & Sources

  • [1]GitHub Security Advisory: GHSA-8wf4-c4x3-h952
  • [2]WWBN AVideo Patch Commit
  • [3]TheHackerWire Technical Write-up

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 10 hours ago•CVE-2026-53634
4.3

CVE-2026-53634: Missing Authorization in Code16 Sharp Quick Creation Command Controller

Code16 Sharp versions from 9.0.0 up to (but not including) 9.22.3 are vulnerable to a missing authorization flaw in the Quick Creation Command feature. The ApiEntityListQuickCreationCommandController fails to validate entity-level 'create' policies before returning administrative form designs or processing database modifications. Authenticated users with restricted access can bypass policy boundaries to access creation configurations and insert records.

Alon Barad
Alon Barad
6 views•5 min read
•about 11 hours ago•CVE-2026-49471
8.3

CVE-2026-49471: Unauthenticated Remote Code Execution in Serena MCP Toolkit via DNS Rebinding and Memory Poisoning

CVE-2026-49471 is a high-severity security vulnerability in Serena, an AI-assisted coding Model Context Protocol (MCP) toolkit. In versions prior to v1.5.2, Serena's built-in web dashboard exposes an unauthenticated Flask API on a predictable port. Lacking host validation and CSRF protections, this endpoint is vulnerable to DNS Rebinding. An attacker can lure a user to a malicious webpage, bypass the Same-Origin Policy (SOP), rewrite the AI agent's persistent memory, and execute arbitrary commands on the host operating system via the autonomous agent's shell execution engine.

Alon Barad
Alon Barad
11 views•5 min read
•about 11 hours ago•GHSA-MXWC-WH95-PW4G
5.3

GHSA-MXWC-WH95-PW4G: Denial of Service via Uncontrolled Recursion in Trapster DNS Parser

The trapster honeypot package is vulnerable to a remote denial of service (DoS) vulnerability due to uncontrolled recursion during the parsing of malformed DNS compression pointers in the decode_labels function.

Amit Schendel
Amit Schendel
7 views•6 min read
•about 12 hours ago•GHSA-Q95X-7G78-RCCV
6.3

GHSA-Q95X-7G78-RCCV: Safe Rust Memory Corruption via Use-After-Free in oneringbuf Crate

A critical Use-After-Free (UAF) memory corruption vulnerability exists in the oneringbuf Rust crate prior to version 0.8.0. The vulnerability allows safe Rust code to instantiate and clone reference wrappers that point to heap-allocated ring buffers. Dropping one wrapper prematurely reclaims the backing memory, leading to dangling pointer references and subsequent Use-After-Free or Double Free states.

Amit Schendel
Amit Schendel
7 views•7 min read
•1 day ago•CVE-2026-53359
8.8

CVE-2026-53359: Use-After-Free in Linux Kernel KVM Shadow MMU (Januscape)

Januscape (CVE-2026-53359) is a critical Use-After-Free vulnerability in the x86 Shadow MMU component of the Linux Kernel's KVM subsystem. A logic error in shadow page tracking permits unauthorized page reuse without validating architectural execution roles, leading to dangling pointers in reverse mapping (rmap) tracking entries during guest memory teardown.

Amit Schendel
Amit Schendel
106 views•5 min read
•1 day ago•CVE-2026-48282
10.0

CVE-2026-48282: Unauthenticated Path Traversal and Arbitrary File Write in Adobe ColdFusion Remote Development Services

CVE-2026-48282 is a critical unauthenticated path traversal and arbitrary file write vulnerability in the Remote Development Services (RDS) component of Adobe ColdFusion. The vulnerability allows a remote, unauthenticated attacker to bypass directory boundaries and write arbitrary files, including CFML-based web shells, onto the host server. This flaw is actively exploited in the wild and enables full unauthenticated remote code execution under the privileges of the ColdFusion service account.

Alon Barad
Alon Barad
45 views•6 min read