AVideo CVE-2026-43885
HIGHSeverity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
4DescriptionGitHub Advisory
Summary
An unauthenticated user can read APISecret from objects/plugins.json.php and use it to call protected API endpoints (e.g. users_list) without logging in.
Details
objects/plugins.json.php is public and still exposes plugin object_data containing APISecret. That secret is accepted by plugin/API/get.json.php as authentication.
PoC
- Get plugin config (contains
APISecret):
curl 'http://<host>/objects/plugins.json.php'<img width="879" height="94" alt="image" src="https://github.com/user-attachments/assets/027073fc-dccd-4e1d-8450-ad12345e88eb" />
- Copy APISecret from response, then call API directly:
curl --get 'http://<host>/plugin/API/get.json.php' \
--data-urlencode 'APIName=users_list' \
--data-urlencode 'APISecret=<APISecret>' \
--data-urlencode 'rowCount=3' \
--data-urlencode 'current=1'<img width="1719" height="170" alt="image" src="https://github.com/user-attachments/assets/edd629be-e75c-40a2-a52f-2f2e6da99b79" />
Impact
Unauthenticated disclosure of sensitive config (APISecret) leading to unauthorized access to protected API data.
Recommended fix
Requiring admin auth for full plugin inventory/config endpoint.
AnalysisAI
AVideo version 29.0 and earlier exposes API authentication secrets (APISecret) to unauthenticated remote attackers via a publicly accessible plugin configuration endpoint at objects/plugins.json.php. This vulnerability enables complete bypass of authentication controls protecting sensitive API endpoints including user enumeration (users_list) and other privileged operations. Publicly available exploit code exists (proof-of-concept demonstrated in GitHub advisory GHSA-xr49-f4rh-qcjf). Upstream fix available via commit 1c36f229 but no tagged release version has been independently confirmed at time of analysis.
Technical ContextAI
AVideo is a PHP-based video sharing platform (composer/wwbn/avideo). The vulnerability stems from CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) in the plugin configuration disclosure endpoint. The file objects/plugins.json.php returns full plugin metadata including the object_data field containing APISecret values without requiring authentication. The plugin/API/get.json.php endpoint accepts this APISecret as a credential to bypass normal session-based authentication. The root cause is the plugin inventory endpoint returning complete configuration objects instead of filtering sensitive fields before disclosure. The commit diff shows the fix sanitizes object_data by explicitly clearing it before JSON serialization when serving public requests. This represents a classic information disclosure → privilege escalation chain where leaked credentials enable lateral movement to protected API surfaces.
RemediationAI
Apply the upstream fix from commit 1c36f229d0a103528fb9f64d0a1cc0e1e8f5999b available at https://github.com/WWBN/AVideo/commit/1c36f229d0a103528fb9f64d0a1cc0e1e8f5999b which strips the object_data field from plugin configuration responses. As no tagged release version incorporating this fix has been confirmed, manual patching is required: either apply the commit directly or manually modify objects/plugins.json.php to clear the object_data field before JSON encoding. The diff shows a targeted two-line change to the array sanitization logic. If immediate patching is not feasible, implement compensating controls by restricting network access to objects/plugins.json.php to authenticated admin sessions only via web server access controls (e.g., location-based authentication in nginx or .htaccess rules in Apache). Note that blocking this endpoint may break legitimate plugin discovery features for authenticated users - test thoroughly. Additionally, rotate all exposed APISecret values after remediation since any previously disclosed secrets remain valid credentials until regenerated through the AVideo admin interface. Verify the fix by testing the POC curl command after patching - objects/plugins.json.php should no longer return object_data contents.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-200 – Information Exposure
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
GHSA-xr49-f4rh-qcjf