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

CVE-2026-33649: GET-Based CSRF Privilege Escalation in WWBN AVideo

Alon Barad
Alon Barad
Software Engineer

Mar 25, 2026·6 min read·17 visits

Executive Summary (TL;DR)

A critical CSRF flaw in AVideo allows unauthenticated attackers to grant arbitrary permissions to user groups by tricking an administrator into visiting a malicious page. The endpoint improperly accepts GET requests and lacks token validation, exacerbated by a global SameSite=None cookie policy.

WWBN AVideo up to version 26.0 is vulnerable to a Cross-Site Request Forgery (CSRF) vulnerability in the permissions management endpoint. The vulnerability allows attackers to escalate privileges by forcing an authenticated administrator to execute state-changing GET requests without anti-CSRF token validation.

Vulnerability Overview

WWBN AVideo up to version 26.0 contains a Cross-Site Request Forgery (CSRF) vulnerability tracked as CVE-2026-33649. The flaw resides within the plugin/Permissions/setPermission.json.php endpoint, which is responsible for modifying user group access controls. By exploiting this vulnerability, an attacker can perform unauthorized state-changing operations on the application.

The vulnerable endpoint processes incoming requests to grant or revoke critical system privileges, such as video upload capabilities and user management rights. Because it fails to properly validate the origin and intent of these requests, it exposes a critical attack surface. Administrators managing the platform are the primary targets, as their elevated session privileges are required to execute the permission changes.

The attack vector relies on an attacker crafting a malicious web page that automatically triggers requests to the vulnerable AVideo endpoint. When an authenticated administrator visits this page, their browser executes the requests within the context of their active session. The application blindly trusts these requests, resulting in unauthorized privilege escalation for an attacker-controlled user group.

Root Cause Analysis

The root cause of CVE-2026-33649 is a combination of three distinct security misconfigurations interacting within the application architecture. First, the setPermission.json.php endpoint explicitly retrieves parameters using the $_REQUEST superglobal array. This implementation allows the endpoint to accept input via HTTP GET query strings, violating the standard practice of using POST requests for state-changing operations.

Second, the endpoint completely omits anti-CSRF token validation. While the AVideo application implements a global token validation function named isGlobalTokenValid(), developers failed to invoke this function within the permissions endpoint. Other administrative endpoints, such as saveSort.json.php, correctly implement this check, indicating a localized oversight rather than a systemic lack of CSRF protection mechanisms.

Third, the vulnerability is amplified by AVideo's session cookie configuration. The application explicitly sets ini_set('session.cookie_samesite', 'None'); in objects/include_config.php. This configuration is documented as an intentional choice to support cross-origin iframe embedding for video players. However, setting SameSite=None removes modern browser protections against cross-site request inclusion, allowing session cookies to be appended to GET requests initiated from arbitrary third-party domains.

Code Analysis

An examination of the vulnerable code in plugin/Permissions/setPermission.json.php reveals the exact mechanism of the flaw. The script iterates over an array of expected parameters, extracting them directly from $_REQUEST without validating the HTTP method. It then passes these unvalidated, untrusted inputs directly to the Permissions::setPermission() method.

$intvalList = array('users_groups_id','plugins_id','type','isEnabled');
foreach ($intvalList as $value) {
    if($_REQUEST[$value]==='true'){
        $_REQUEST[$value] = 1;
    }else{
        $_REQUEST[$value] = intval($_REQUEST[$value]);
    }
}
 
$obj = new stdClass();
$obj->id = Permissions::setPermission($_REQUEST['users_groups_id'], $_REQUEST['plugins_id'], $_REQUEST['type'], $_REQUEST['isEnabled']);

To remediate this vulnerability, the endpoint must be refactored to enforce strict HTTP method validation and token verification. The application must reject any request that does not use the POST method. Furthermore, it must call the existing isGlobalTokenValid() function before processing any input variables.

// 1. Enforce POST method
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    die(json_encode(array('error' => 'POST method required')));
}
// 2. Enforce CSRF token
if (!isGlobalTokenValid()) {
    die(json_encode(array('error' => 'Invalid CSRF token')));
}
 
$intvalList = array('users_groups_id','plugins_id','type','isEnabled');
foreach ($intvalList as $value) {
    if($_POST[$value]==='true'){
        $_POST[$value] = 1;
    }else{
        $_POST[$value] = intval($_POST[$value]);
    }
}
 
$obj = new stdClass();
$obj->id = Permissions::setPermission($_POST['users_groups_id'], $_POST['plugins_id'], $_POST['type'], $_POST['isEnabled']);

Exploitation and Attack Methodology

Exploitation of CVE-2026-33649 requires the attacker to fulfill specific prerequisites. The target administrator must have an active, authenticated session with the AVideo application. The attacker must also identify the numeric ID of a user group they control (e.g., ID 2), which will be the recipient of the escalated privileges.

The attack methodology involves crafting a malicious HTML payload designed to silently execute HTTP GET requests. The provided proof-of-concept utilizes hidden <img> tags, appending the necessary parameters to the target endpoint's URL. By assigning multiple tags to the page, the attacker can systematically grant a series of permissions in a single page load.

<!DOCTYPE html>
<html>
<head><title>Interesting Content</title></head>
<body>
<h1>Check out this video!</h1>
<!-- PERMISSION_FULLACCESSVIDEOS (type=10) -->
<img src='https://target.example.com/plugin/Permissions/setPermission.json.php?users_groups_id=2&plugins_id=1&type=10&isEnabled=true' style='display:none'>
<!-- PERMISSION_USERS (type=20) -->
<img src='https://target.example.com/plugin/Permissions/setPermission.json.php?users_groups_id=2&plugins_id=1&type=20&isEnabled=true' style='display:none'>
</body>
</html>

When the administrator renders this HTML page, the browser attempts to resolve the image sources. It automatically fires asynchronous GET requests to the AVideo server. Because the server configures session cookies with SameSite=None, the browser includes the administrator's authentication cookies in the cross-origin requests, resulting in successful privilege escalation.

Impact Assessment

The successful exploitation of CVE-2026-33649 results in significant security consequences for the affected AVideo deployment. An unauthenticated attacker leverages the administrator's session to elevate the privileges of their own user group. This drive-by compromise grants the attacker unauthorized access to administrative functions without requiring direct authentication credentials.

The specific permissions demonstrated in the proof-of-concept grant the attacker extensive control. By assigning PERMISSION_FULLACCESSVIDEOS and PERMISSION_USERS, the attacker gains the ability to manipulate platform content and manage other users. This lateral movement compromises both the confidentiality and integrity of the system data.

The vulnerability is assessed with a CVSS v3.1 base score of 8.1 (High), reflecting the critical nature of the flaw. The vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N) highlights that while user interaction is required (UI:R), the attack is network-exploitable (AV:N), has low complexity (AC:L), and requires no prior privileges (PR:N) from the attacker's origin context.

Remediation and Mitigation

As of the publication date, no official patched release is available for WWBN AVideo to address CVE-2026-33649. Administrators operating affected systems must implement immediate manual remediations or compensating controls to secure their deployments. The primary recommendation is to manually patch the vulnerable PHP script as outlined in the code analysis section.

Administrators must modify plugin/Permissions/setPermission.json.php to explicitly enforce the POST HTTP method and require valid anti-CSRF tokens via the isGlobalTokenValid() function. All references to the $_REQUEST superglobal within this file must be replaced with $_POST to ensure parameters are not accepted via URL query strings.

In environments where direct code modification is not immediately feasible, compensating controls must be deployed. Security teams should implement Web Application Firewall (WAF) rules to explicitly block all GET requests targeting the /plugin/Permissions/setPermission.json.php URI path. Furthermore, administrators must practice strict session hygiene by avoiding general web browsing while maintaining an active session in the AVideo management console.

Official Patches

WWBNGitHub Security Advisory

Technical Appendix

CVSS Score
8.1/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
EPSS Probability
0.01%
Top 97% most exploited

Affected Systems

WWBN AVideo platform

Affected Versions Detail

Product
Affected Versions
Fixed Version
AVideo
WWBN
<= 26.0-
AttributeDetail
CWE IDCWE-352
Attack VectorNetwork
CVSS Score8.1
EPSS Percentile2.59%
Exploit StatusProof of Concept Available
CISA KEVNot Listed

MITRE ATT&CK Mapping

T1189Drive-by Compromise
Initial Access
CWE-352
Cross-Site Request Forgery (CSRF)

The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.

Known Exploits & Detection

Security AdvisoryHTML PoC demonstrating privilege escalation via img tags

Vulnerability Timeline

Vulnerability publicly disclosed and assigned CVE ID
2026-03-23
Security advisory GHSA-g8x9-7mgh-7cvj published
2026-03-23
CVE published in NVD and analyzed for CVSS scores
2026-03-25

References & Sources

  • [1]GitHub Advisory GHSA-g8x9-7mgh-7cvj
  • [2]NVD Detail for CVE-2026-33649
  • [3]CVE Record CVE-2026-33649
  • [4]WWBN AVideo Source Code

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

•11 minutes ago•CVE-2026-56677
8.6

CVE-2026-56677: Unauthenticated Server-Side Request Forgery in 9Router OIDC Test Endpoint

A high-severity security vulnerability exists in 9Router, an AI router and token saver dashboard. When dashboard authentication features are disabled or left in default configurations, the application exposes administrative testing routines directly to the public internet. Unauthenticated network adversaries can exploit the OIDC configuration validation endpoint to initiate arbitrary HTTP requests, routing unauthorized traffic to local loops, adjacent container ports, and cloud resource metadata interfaces.

Amit Schendel
Amit Schendel
0 views•5 min read
•about 1 hour ago•CVE-2026-64849
9.3

CVE-2026-64849: Server-Side Request Forgery (SSRF) in MLflow Webhooks via DNS Rebinding

CVE-2026-64849 is a critical Server-Side Request Forgery (SSRF) vulnerability affecting MLflow tracking servers prior to version 3.15.0. It allows unauthenticated remote attackers to bypass outbound request destination filters using DNS rebinding or HTTP redirects. This exposure risks compromising sensitive cloud infrastructure metadata and internal microservices.

Alon Barad
Alon Barad
2 views•5 min read
•about 2 hours ago•CVE-2026-69146
6.5

CVE-2026-69146: Missing Authorization Bypass in MLflow Basic Authentication Middleware

This technical report details a missing authorization vulnerability (CVE-2026-69146 / GHSA-3p64-6gvh-82v5) affecting the MLflow platform from version 3.13.0 to 3.15.0. When MLflow is configured with the built-in basic-auth plugin, authenticated users can bypass run-level UPDATE authorization checks, enabling unauthorized dataset and model lineage metadata injection.

Alon Barad
Alon Barad
2 views•7 min read
•about 3 hours ago•CVE-2026-69148
7.1

CVE-2026-69148: Broken Object Level Authorization (BOLA) in MLflow Model Registry

MLflow prior to version 3.15.0 fails to perform proper authorization checks when registering model versions, allowing authenticated users with access to a registered model to link and access artifacts from runs and models belonging to other users without authorization.

Amit Schendel
Amit Schendel
4 views•7 min read
•about 4 hours ago•CVE-2026-59893
7.5

CVE-2026-59893: Regular Expression Denial of Service in sqlparse Lexer

A high-severity Regular Expression Denial of Service (ReDoS) vulnerability in the sqlparse Python library prior to version 0.6.0 allows unauthenticated remote attackers to trigger CPU exhaustion and application denial of service via crafted SQL inputs containing unmatched dollar-quoted literals or unclosed multiline comments.

Alon Barad
Alon Barad
4 views•6 min read
•about 5 hours ago•GHSA-FHGH-WQ4Q-R37X
7.8

GHSA-FHGH-WQ4Q-R37X: Remote Code Execution via Sigstore Signature Verification Bypass in uniget CLI

A high-severity logic inversion flaw in the uniget CLI completely bypasses Sigstore cryptographic signature verification on metadata files by default. If an attacker can poison the package metadata cache or repository, they can execute arbitrary OS commands under the privileges of the active user.

Alon Barad
Alon Barad
5 views•5 min read