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

CVE-2026-33651: Blind SQL Injection in WWBN AVideo Live Schedule Reminder

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 25, 2026·6 min read·30 visits

Executive Summary (TL;DR)

Authenticated attackers can exploit a blind SQL injection flaw in AVideo <= 26.0 via the `live_schedule_id` parameter to extract sensitive database contents using time-based inference.

WWBN AVideo versions up to and including 26.0 contain a critical time-based blind SQL injection vulnerability in the `remindMe.json.php` endpoint. An authenticated attacker can supply a crafted `live_schedule_id` parameter to execute arbitrary database queries, leading to full database compromise.

Vulnerability Overview

WWBN AVideo versions up to and including 26.0 contain a high-severity time-based blind SQL injection vulnerability. The flaw manifests in the Live Schedule Reminder functionality, specifically within the plugin/Live/remindMe.json.php endpoint. This endpoint accepts HTTP requests to configure database-backed reminders for upcoming live streaming events.

The vulnerability is formally classified as CWE-89 (Improper Neutralization of Special Elements used in an SQL Command). An authenticated attacker can supply crafted SQL payloads via the HTTP request parameters. The application processes this input and eventually concatenates it directly into a backend database query without adequate sanitization or parameterization.

Successful exploitation allows an attacker to extract arbitrary data from the underlying relational database. Because the query results are not explicitly returned in the HTTP response body, the attacker relies on time-based inference techniques. This method evaluates boolean conditions by measuring server response delays, allowing the attacker to enumerate database schemas, tables, and sensitive records bit by bit.

Root Cause Analysis

The root cause of CVE-2026-33651 is improper input sanitization across multiple function boundaries combined with unsafe string concatenation in the data access layer. The execution flow begins when plugin/Live/remindMe.json.php receives the live_schedule_id parameter from the $_REQUEST array. The application passes this unvalidated string variable directly into the Live::setLiveScheduleReminder() method.

Throughout the function call chain, intermediate methods attempt to sanitize the input but fail to modify the original variable reference. For example, the new Live_schedule($id) constructor applies intval() to cast the input to an integer. However, this casting operation occurs on a distinct local variable within the ObjectYPT::getFromDb() method. The original tainted string, passed into the function hierarchy, remains entirely intact.

The unmodified, tainted string propagates down to the Scheduler_commands::getAllActiveOrToRepeat($type) method. Within this method, the application dynamically constructs a SQL SELECT statement. The vulnerable logic directly concatenates the tainted variable into a LIKE clause without utilizing prepared statements or input validation.

Code Analysis

A review of the vulnerable source code pinpoints the exact location of the unsafe string concatenation. In plugin/Scheduler/Objects/Scheduler_commands.php, the getAllActiveOrToRepeat method appends the $type parameter directly to the $sql string variable. The application then passes this string to sqlDAL::readSql(), executing the payload against the database.

// Vulnerable Implementation
$sql = "SELECT * FROM  " . static::getTableName() . " WHERE (status='" . (self::$statusActive) . "' OR status='" . (self::$statusRepeat) . "') ";
if(!empty($type)){
    $sql .= ' AND `type` LIKE "'.$type.'%" ';
}
$res = sqlDAL::readSql($sql);

The patch introduced in commit 75d45780728294ededa1e3f842f95295d3e7d144 addresses the vulnerability through two primary defense mechanisms. First, it enforces early type casting in remindMe.json.php by applying intval() directly to $_REQUEST['live_schedule_id'] before any further processing occurs. This ensures the parameter is strictly numeric at the entry point.

// Patch snippet in remindMe.json.php
+$_REQUEST['live_schedule_id'] = intval($_REQUEST['live_schedule_id']);
 $reminder = Live::setLiveScheduleReminder($_REQUEST['live_schedule_id'], ...);

Second, the patch refactors the getAllActiveOrToRepeat method to utilize parameterized queries. The implementation now defines query structures using positional placeholders (?) and passes the user input via a separate $values array. This separation of code and data prevents the database engine from interpreting malicious input as executable SQL commands.

// Patched Implementation in Scheduler_commands.php
$sql = "SELECT * FROM  " . static::getTableName() . " WHERE (status=? OR status=?) ";
$formats = 'ss';
$values = [self::$statusActive, self::$statusRepeat];
if(!empty($type)){
    $sql .= ' AND `type` LIKE ? ';
    $formats .= 's';
    $values[] = $type . '%';
}
$res = sqlDAL::readSql($sql, $formats, $values);

Exploitation

Exploiting CVE-2026-33651 requires the attacker to hold an authenticated session on the target AVideo instance. The attacker must obtain a valid PHPSESSID cookie to interact with the protected remindMe.json.php endpoint. Network access to the application is the only other prerequisite for launching the attack.

The attack relies on time-based blind SQL injection techniques due to the absence of visible database errors or query results in the HTTP response body. The attacker crafts a payload that breaks out of the intended LIKE clause using quotation marks. The payload then injects a conditional time delay function, such as SLEEP() or BENCHMARK().

curl -b "PHPSESSID=attacker-session-id" \
  "https://target-avideo.com/plugin/Live/remindMe.json.php?live_schedule_id=1%22+AND+(SELECT+1+FROM+(SELECT(SLEEP(5)))a)+AND+%221%22+LIKE+%221"

When the server evaluates the injected condition as true, the database engine executes the sleep command, intentionally delaying the HTTP response. The attacker observes this network latency to infer the truth value of the injected condition. By systematically iterating through database characters and measuring response times, the attacker extracts schemas, tables, and sensitive records continuously.

Impact Assessment

The exploitation of this vulnerability yields a high severity impact, reflected in the CVSS v3.1 base score of 8.1. The primary consequence is a total loss of database confidentiality. An attacker can systematically exfiltrate all information stored within the AVideo database instance.

This data exposure encompasses sensitive user records, including email addresses, personal details, and password hashes. If the attacker successfully cracks the exfiltrated administrative password hashes, they can escalate their privileges within the application. Administrative access allows the attacker to manipulate platform configurations, modify content, or potentially execute arbitrary code on the underlying server via administrative features.

Integrity is also significantly impacted by this vulnerability. The attacker can modify the injected SQL statements to execute UPDATE or DELETE commands, altering application data or destroying operational records. While availability is not directly targeted by the design of the vulnerability, aggressive time-based exploitation attempts can exhaust server connection pools and degrade application performance.

Remediation

The primary remediation strategy for CVE-2026-33651 is updating the WWBN AVideo installation to version 26.1 or later. The vendor has provided a comprehensive fix in commit 75d45780728294ededa1e3f842f95295d3e7d144. This update implements both input sanitization at the application edge and parameterized queries within the underlying data access layer.

Organizations unable to apply the patch immediately should implement compensating controls. Web Application Firewall (WAF) rules provide a temporary defense layer. Administrators must configure the WAF to inspect requests targeting /plugin/Live/remindMe.json.php and block common SQL injection signatures, including SLEEP, BENCHMARK, and unbalanced double quotes.

Development teams analyzing this vulnerability should observe the importance of defense-in-depth principles. Relying on downstream functions to sanitize input as a side-effect is an anti-pattern that frequently leads to systemic bypasses. Consistent use of parameterized queries for all database interactions is the only robust defense against SQL injection flaws.

Official Patches

WWBNOfficial patch fixing the SQL injection flaw
WWBNGitHub Security Advisory

Fix Analysis (1)

Technical Appendix

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

Affected Systems

WWBN AVideo <= 26.0

Affected Versions Detail

Product
Affected Versions
Fixed Version
AVideo
WWBN
<= 26.026.1
AttributeDetail
CWE IDCWE-89
Attack VectorNetwork
CVSS v3.1 Score8.1 (High)
Exploit StatusProof-of-Concept Available
AuthenticationRequired (Low Privileges)
EPSS Percentile6.98%
KEV StatusNot Listed
RemediationUpdate to >= 26.1

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
CWE-89
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command.

Vulnerability Timeline

Security researcher reported the flaw and fix commit 75d45780728294ededa1e3f842f95295d3e7d144 authored by Daniel Neto
2026-03-22
GitHub Security Advisory GHSA-pvw4-p2jm-chjm published
2026-03-23
CVE-2026-33651 assigned and published by GitHub (CNA)
2026-03-23
NVD publication and CVSS score assignment
2026-03-23

References & Sources

  • [1]NVD Record for CVE-2026-33651
  • [2]GitHub Advisory: GHSA-pvw4-p2jm-chjm
  • [3]Fix Commit 75d45780728294ededa1e3f842f95295d3e7d144
  • [4]Technical Write-up by Marlon Ribunal

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

•2 days ago•CVE-2026-58197
8.8

CVE-2026-58197: Host Escape and Lateral Movement via Insecure Container Network Defaults in ToolHive

A high-severity access control vulnerability in ToolHive CLI before v0.30.1 and ToolHive Studio before v0.38.0 allows local containerized MCP servers to bypass network isolation. This enables malicious workloads to establish TCP/IP connections to administrative and control plane endpoints exposed on the host loopback interface.

Amit Schendel
Amit Schendel
9 views•8 min read
•2 days ago•CVE-2026-63405
5.9

CVE-2026-63405: Insufficient Verification of Data Authenticity in AnyCable Pusher REST API

AnyCable is a real-time communication server. Prior to version 1.6.15, its Pusher-compatible REST API suffered from an authentication bypass vulnerability because it failed to verify that the request body matched the signature-validated body_md5 parameter. This allows attackers to perform replay attacks with modified body contents.

Amit Schendel
Amit Schendel
9 views•5 min read
•2 days ago•CVE-2026-64847
6.8

CVE-2026-64847: Indefinite Denial of Service via Undrained Stderr in AnyIO Process Pool Workers

A denial-of-service vulnerability exists in AnyIO prior to version 4.14.2. Standard error streams of process-pool workers are connected to an operating system pipe that is never drained by the parent process. This allows a worker to fill the pipe buffer and deadlock indefinitely.

Amit Schendel
Amit Schendel
12 views•6 min read
•2 days ago•CVE-2026-63349
7.0

CVE-2026-63349: Privilege Dropping Bypass and Denial of Service in AnyIO Subprocess Module

CVE-2026-63349 is a critical privilege-dropping bypass vulnerability in the AnyIO asynchronous framework (versions 4.14.0 and 4.14.1) on POSIX platforms. Due to a variable assignment typo, supplementary groups specified by the developer are not correctly propagated to the execution backend, resulting in subprocesses retaining the parent process's elevated supplementary group permissions.

Alon Barad
Alon Barad
22 views•5 min read
•2 days ago•CVE-2026-63406
5.9

CVE-2026-63406: Information Disclosure via Insecure Telemetry and Hardcoded Credentials in AnyCable-Go

CVE-2026-63406 is an information disclosure vulnerability in AnyCable-go prior to version 1.6.15. The built-in telemetry client is enabled by default with a hardcoded public authentication token ('secret'). This client digests highly sensitive configuration parameters and command-line arguments, including JWT secrets and RPC secrets, into a stable SHA-256 fingerprint. This fingerprint is sent over public networks, exposing those administrative secrets to offline dictionary and brute-force attacks if intercepted.

Alon Barad
Alon Barad
7 views•5 min read
•2 days ago•CVE-2026-84992
6.1

CVE-2026-84992: Cross-Site Scripting (XSS) via Fenced Code Block Parsing in md-editor-v3

CVE-2026-84992 is a Cross-Site Scripting (XSS) vulnerability affecting md-editor-v3 before version 6.5.4. It occurs because the fenced-code block language parser directly interpolates unescaped language metadata into unquoted HTML attributes inside the custom rendering callback. This bypasses the built-in XSSPlugin which runs during the parsing phase, before rendering.

Amit Schendel
Amit Schendel
11 views•6 min read