PT-2026-29355 · Avideo · Avideo
Adrgs
·
Published
2026-03-31
·
Updated
2026-04-01
·
CVE-2026-34396
CVSS v3.1
6.1
Medium
| Vector | AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Name of the Vulnerable Software and Affected Versions
AVideo versions 26.0 and prior
Description
The AVideo admin panel does not properly encode plugin configuration values when rendering them in HTML forms. The
jsonToFormElements() function in admin/functions.php directly interpolates user-controlled values into textarea contents, option elements, and input attributes. This allows an attacker who can set a plugin configuration value, potentially through a compromised admin account or by exploiting a Cross-Site Request Forgery (CSRF) issue on the admin/save.json.php endpoint, to inject arbitrary JavaScript code. This code will execute whenever an administrator visits the plugin configuration page. The vulnerability exists due to unsafe output points within the jsonToFormElements() function, specifically in the handling of textarea content, select options, and input types/values. The vulnerability can be exploited through direct manipulation if an admin session is available, or chained with a CSRF attack requiring no authentication. Successful exploitation could allow an attacker to steal admin session cookies, create new admin accounts, modify site configuration, inject persistent JavaScript into public-facing pages, or potentially pivot to server-side code execution. The admin/save.json.php API endpoint is involved in saving configuration values without CSRF validation.Recommendations
Apply
htmlspecialchars($value, ENT QUOTES, 'UTF-8') to all user-controlled values rendered in admin/functions.php:- In
admin/functions.phpline 47, encode the textarea content usinghtmlspecialchars($valueJson->value, ENT QUOTES, 'UTF-8'). - In
admin/functions.phpline 55, encode the select option values usinghtmlspecialchars($key, ENT QUOTES, 'UTF-8')andhtmlspecialchars($value, ENT QUOTES, 'UTF-8'). - In
admin/functions.phplines 62-63, encode the input type and value attributes usinghtmlspecialchars($valueJson->type, ENT QUOTES, 'UTF-8')andhtmlspecialchars($valueJson->value, ENT QUOTES, 'UTF-8'). - In
admin/functions.phpline 75, encode the fallback input value usinghtmlspecialchars($valueJson, ENT QUOTES, 'UTF-8').
Exploit
Fix
XSS
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Avideo