Summary
CVE-2026-88876 is a missing-authorization vulnerability in the PlayerSkins plugin of WWBN AVideo, an open-source self-hosted video streaming/publishing platform. The seo.php endpoint calls the video object’s getSources() method without verifying the caller’s authorization or the video’s password-protection status, allowing unauthenticated attackers to retrieve direct MP4 playback URLs for password-protected videos. The issue carries a CVSS v4.0 score of 8.7 (High) and affects all versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1.
Technical details
- Root cause:
plugin/PlayerSkins/seo.phploads a video by its numeric ID and invokesgetSources()to build playback URLs, but never checks whether the video is password-protected or whether the requester has supplied valid credentials, unlike the normal web UI flow which enforces this check. - Trigger conditions: An attacker only needs to know or guess a valid numeric
videos_idand send an unauthenticated request to theseo.phpendpoint. - Attack vector: Network — no authentication, no user interaction, and low attack complexity are required.
- Impact: Confidentiality is fully compromised for the affected data — attackers can obtain direct, unauthenticated MP4 URLs for password-protected videos and download or redistribute the protected content, defeating the platform’s video password-protection feature.
Affected software
- WWBN AVideo — all versions/commits up to and including
c3edcc274c389816d434acadac07ee78eaf330c1(master branch)
Severity
- CVSS v3.1 Base Score: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0 Score: 8.7 (High) —
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
Mitigation and recommended actions
- Immediate: As of publication, WWBN has not released a patched version. Track the WWBN/AVideo GitHub repository and security advisories for an official fix and upgrade to a patched release as soon as one is available.
- If no patch: Restrict or disable direct access to
plugin/PlayerSkins/seo.phpat the web server or reverse proxy/WAF level for unauthenticated requests. Audit any videos relying on password protection for confidentiality and consider additional access controls (e.g., network-level restrictions, authentication gateways) until a fix is applied. Monitor logs for unauthenticated requests to the PlayerSkins plugin endpoints.

