CVE-2023-48728

9.6 CRITICAL

📋 TL;DR

This is a stored cross-site scripting (XSS) vulnerability in WWBN AVideo's getOpenGraph videoName functionality that allows attackers to inject malicious JavaScript. When exploited, it enables arbitrary code execution in victims' browsers when they view manipulated content. This affects all users of vulnerable WWBN AVideo installations.

💻 Affected Systems

Products:
  • WWBN AVideo
Versions: 11.6 and dev master commit 3c6bb3ff
Operating Systems: All platforms running AVideo
Default Config Vulnerable: ⚠️ Yes
Notes: All installations using the vulnerable functionality are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal session cookies, perform actions as authenticated users, redirect to malicious sites, or install malware on visitors' systems.

🟠

Likely Case

Session hijacking, credential theft, defacement of video pages, or redirection to phishing sites.

🟢

If Mitigated

Limited impact if proper Content Security Policy (CSP) headers are implemented and input validation is enforced.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires user interaction (visiting a malicious page) but the vulnerability itself is unauthenticated.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check vendor for latest patched version

Vendor Advisory: https://github.com/WWBN/AVideo

Restart Required: No

Instructions:

1. Update to the latest version of AVideo
2. Apply vendor-provided patches for the getOpenGraph functionality
3. Verify input sanitization is properly implemented

🔧 Temporary Workarounds

Implement Content Security Policy

all

Add CSP headers to restrict script execution sources

Add to web server config: Content-Security-Policy: default-src 'self'; script-src 'self'

Input Validation Filter

all

Add server-side validation for videoName parameter

Implement input sanitization in getOpenGraph function to strip/escape HTML/JS

🧯 If You Can't Patch

  • Implement WAF rules to block XSS payloads in videoName parameter
  • Disable or restrict the vulnerable functionality if not essential

🔍 How to Verify

Check if Vulnerable:

Test by injecting XSS payload into videoName parameter and checking if it executes

Check Version:

Check AVideo version in admin panel or via version file

Verify Fix Applied:

Test with same XSS payloads to confirm they are properly sanitized

📡 Detection & Monitoring

Log Indicators:

  • Unusual characters in videoName parameter
  • Multiple failed XSS attempts
  • Suspicious referrer headers

Network Indicators:

  • HTTP requests with script tags in parameters
  • Unusual outbound connections after page load

SIEM Query:

web_requests WHERE parameter CONTAINS '<script>' OR parameter CONTAINS 'javascript:'

🔗 References

📤 Share & Export