CVE-2026-50745: Reflected XSS in Revive Adserver stats-video.php
A cross-site scripting vulnerability exists in Revive Adserver's stats-video.php script. The application fails to properly sanitize and encode user-supplied input before displaying it back to visitors. An attacker could craft a malicious link that, when clicked by a user, executes arbitrary JavaScript in the context of the affected domain. This is a reflected XSS vulnerability—the payload doesn't persist on the server, but requires social engineering to trick a user into clicking a specially crafted URL.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.1 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-26 / 2026-06-29
NVD description (verbatim)
A missing sanitisation vulnerability exists with user input in the stats-video.php script. The way URLs to this script were constructed did not follow best practices, and the output of the Smarty custom helper function url was neither properly encoded nor sanitised, allowing user‑supplied input to be reflected without escaping.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-50745 is a reflected cross-site scripting (CWE-79) vulnerability in Revive Adserver. The stats-video.php script constructs URLs without following secure coding practices. Specifically, the output of a Smarty custom helper function (url) lacks proper HTML encoding and input sanitization, allowing attacker-controlled parameters to be reflected directly into the response. An unauthenticated, remote attacker can exploit this by crafting a malicious URL and delivering it to a victim. No special privileges or complex conditions are required; only user interaction (clicking the link) is needed.
Business impact
This vulnerability enables attackers to steal session cookies, redirect users to phishing pages, inject malware, or perform actions on behalf of logged-in ad operators. For organizations running Revive Adserver—commonly used for managing digital advertising campaigns—a successful exploit could compromise advertiser accounts, skew ad performance metrics, or damage trust with the platform's users. The impact depends on what sensitive operations a victim can perform after their session is hijacked.
Affected systems
Revive Adserver instances are affected. The vulnerability exists in the stats-video.php script. Organizations should verify which versions of Revive Adserver they are running against the vendor advisory to determine exposure. All installations of affected versions accessible over the network are at risk if users can be tricked into clicking malicious links.
Exploitability
This vulnerability is relatively straightforward to exploit. An attacker needs only to craft a malicious URL, social engineer a user into clicking it, and intercept or exfiltrate the resulting data or session tokens. The CVSS 3.1 score of 6.1 (Medium) reflects the requirement for user interaction. The attack vector is network-based with no authentication required. Tools for automating reflected XSS detection and exploitation are widely available, making this a practical concern even for low-skill attackers.
Remediation
Upgrade Revive Adserver to a patched version as specified in the vendor advisory. Verify against the official Revive Adserver security bulletins for exact version numbers and release dates. In addition to patching, implement Content Security Policy (CSP) headers to mitigate XSS attacks, use HTML entity encoding for all user-supplied output, and ensure input validation follows OWASP guidelines. Consider security code review of custom Smarty helper functions and template rendering logic.
Patch guidance
Consult the official Revive Adserver advisory for patched version numbers and availability. Apply patches promptly, testing first in a non-production environment to ensure compatibility with your ad server configuration. After patching, perform a brief regression test of the stats-video.php functionality to confirm proper operation. If patches are not yet available from the vendor, apply compensating controls such as web application firewalls (WAF) rules to block requests with suspicious characters in URL parameters targeting stats-video.php.
Detection guidance
Monitor web server logs for requests to stats-video.php with unusual characters or payloads in query parameters—particularly angle brackets, script tags, or JavaScript event handlers (e.g., onerror=, onclick=). Deploy a WAF or IDS/IPS with XSS signature rules to detect and block malicious requests. Review access logs for successful reflections of user input or unusual redirect patterns. Track for any evidence of session hijacking or unauthorized ad server administrative actions that might indicate exploitation.
Why prioritize this
Although the CVSS score is Medium (6.1) and the vulnerability requires user interaction, reflected XSS in ad-serving software is a realistic attack vector because ad operators and advertisers regularly exchange URLs. The combination of network accessibility, ease of exploitation, and potential for session hijacking or data exfiltration warrants timely patching. Organizations should prioritize this within their normal patch cycle but can plan it as a standard update rather than an emergency.
Risk score, explained
The CVSS 3.1 score of 6.1 reflects a reflected XSS with no authentication required (PR:N), network accessibility (AV:N), low attack complexity (AC:L), and cross-site scope (S:C). The severity is capped at Medium because successful exploitation requires user interaction (UI:R). Confidentiality and integrity are each rated as low impact (C:L, I:L), acknowledging that session hijacking and minor data theft are possible but availability is not directly compromised (A:N).
Frequently asked questions
Can this vulnerability be exploited without user action?
No. Exploitation requires an attacker to craft a malicious link and convince a user to click it. The vulnerability is a reflected XSS, not stored XSS, so the payload must be injected via the URL each time.
Does this affect all Revive Adserver users?
All installations running affected versions are at risk if they are network-accessible and users can be tricked into clicking malicious links. Check the vendor advisory to confirm which versions are vulnerable and apply patches as directed.
What is the difference between reflected and stored XSS?
Reflected XSS requires the attacker to trick a user into clicking a malicious link; the payload is part of the URL and executed in that user's browser. Stored XSS persists on the server, allowing the attacker's payload to be executed for every user who visits a compromised page. Reflected XSS is generally lower impact but still dangerous.
Should I implement a WAF while waiting for a patch?
Yes. If patches are delayed, a Web Application Firewall rule blocking requests to stats-video.php containing suspicious script-like patterns (e.g., <script, onerror, javascript:) can provide interim protection. This is not a substitute for patching but reduces exploitability risk.
This analysis is provided for informational and educational purposes. SEC.co makes no warranty regarding the accuracy or completeness of this information. Always verify vulnerability details, patch availability, and affected product versions against official vendor advisories and security bulletins before taking action. Organizations should conduct their own risk assessment and testing in non-production environments prior to deploying patches. The absence of a vulnerability from CISA's Known Exploited Vulnerabilities (KEV) catalog does not guarantee that exploitation is not occurring in the wild. Source: NVD (public-domain), retrieved 2026-08-04. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-50740MEDIUMRevive Adserver Reflected XSS in zone-include.php (CVSS 5.4)
- CVE-2026-50742MEDIUMStored XSS in Revive Adserver 6.0.7 Maintenance Tools
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk