{"id":"CVE-2026-114048","kind":"vulnerability","aliases":["CVE-2026-114048"],"related":[],"title":"AVideo: legacy endpoints let forged requests change playlist visibility","description":"WWBN AVideo before 24.0 contains a cross-site request forgery vulnerability in legacy endpoints like playlistStatus.php that bypass the .json.php-only autoCSRFGuard() check. Attackers can lure logged-in users to a page with an auto-submitting form to make private playlists public, remove playlist videos, or forge video suggestions.","summary":"WWBN AVideo versions before 24.0 have legacy endpoints such as playlistStatus.php that skip the CSRF check applied only to .json.php files. A logged-in user who opens a malicious page can be made to change private playlists to public, remove playlist videos, or forge video suggestions.","severity":"medium","cvss":5.1,"epss":0.00126,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["avideo","package","php","self-hosted"],"not_affected_if":["auth-required","managed-hosting"],"how_to_check":"- Check the AVideo version in the installed `version.php` or admin dashboard; anything below `24.0` is in scope.\n- Confirm whether `playlistStatus.php` is reachable on the deployment.","fix":"- Upgrade AVideo to `24.0` or later.\n- Until upgraded, restrict access to legacy endpoints or require a CSRF token on `playlistStatus.php`.","status":"open","published_at":"2026-10-21T01:17:27+00:00","first_seen_at":"2026-10-23T21:57:27+00:00","triaged_at":"2026-10-25T04:28:59+00:00","updated_at":"2026-10-25T04:28:59+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T04:28:59Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade AVideo to `24.0` or later.\n- Until upgraded, restrict access to legacy endpoints or require a CSRF token on `playlistStatus.php`.","reach":"internet","title":"AVideo: legacy endpoints let forged requests change playlist visibility","impact":"low","summary":"WWBN AVideo versions before 24.0 have legacy endpoints such as playlistStatus.php that skip the CSRF check applied only to .json.php files. A logged-in user who opens a malicious page can be made to change private playlists to public, remove playlist videos, or forge video suggestions.","category":"package","nicknames":[],"who_cares":["avideo","self-hosted","php"],"confidence":0.6,"needs_auth":"yes","worst_case":"Playlist visibility and contents are changed without the user's knowledge","analyst_note":"","how_to_check":"- Check the AVideo version in the installed `version.php` or admin dashboard; anything below `24.0` is in scope.\n- Confirm whether `playlistStatus.php` is reachable on the deployment.","needs_analyst":false,"not_affected_if":["managed-hosting","auth-required"],"who_is_affected":"Self-hosted AVideo instances before 24.0 with logged-in users are exposed, because the forged request rides on the user's existing session. Sites that do not run AVideo can skip this entry.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000594,"input_tokens":3379,"output_tokens":513,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-114048':12A,15A '-2026':11A,14A '24.0':26B,72C 'appli':38B 'attack':93C 'auto':106C 'auto-submit':105C 'autocsrfguard':91C 'avideo':1A,16B,23B,70C 'bypass':87C 'chang':7A,57B 'check':37B,92C 'contain':73C 'cross':76C 'cross-sit':75C 'csrf':36B 'cve':10A,13A 'endpoint':3A,29B,83C 'file':42B 'forg':5A,66B,118C 'forgeri':79C 'form':108C 'host':21B 'json.php':41B,89C 'legaci':2A,28B,82C 'let':4A 'like':84C 'log':45B,97C 'logged-in':44B,96C 'lure':95C 'made':55B 'make':110C 'malici':51B 'open':49B 'packag':17B 'page':52B,102C 'php':18B 'playlist':8A,59B,63B,112C,115C 'playliststatus.php':32B,85C 'privat':58B,111C 'public':61B,113C 'remov':62B,114C 'request':6A,78C 'self':20B 'self-host':19B 'site':77C 'skip':34B 'submit':107C 'suggest':68B,120C 'user':47B,99C 'version':24B 'video':64B,67B,116C,119C 'visibl':9A 'vulner':80C 'wwbn':22B,69C","nicknames":[],"mitigations":[],"who_affected":"Self-hosted AVideo instances before 24.0 with logged-in users are exposed, because the forged request rides on the user's existing session. Sites that do not run AVideo can skip this entry.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T01:17:27+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114048","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114048","severity":null,"published_at":"2026-10-21T01:17:27+00:00","modified_at":"2026-10-22T17:00:33+00:00","first_seen_at":"2026-10-23T21:57:27+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114048","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114048","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:55+00:00","fetched_at":"2026-10-24T13:15:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}