======================================================================== Revive Adserver Security Advisory REVIVE-SA-2021-002 ------------------------------------------------------------------------ https://www.revive-adserver.com/security/revive-sa-2021-002 ------------------------------------------------------------------------ CVE-IDs: CVE-2021-22874, CVE-2021-22875 Date: 2020-01-26 Risk Level: Low Applications affected: Revive Adserver Versions affected: <= 5.1.0 Versions not affected: >= 5.1.1 Website: https://www.revive-adserver.com/ ======================================================================== ======================================================================== Vulnerability 1 - Reflected XSS ======================================================================== Vulnerability Type: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') [CWE-79] CVE-ID: CVE-2021-22874 CVSS Base Score: 4.3 CVSSv3.1 Vector: AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N CVSS Impact Subscore: 1.4 CVSS Exploitability Subscore: 2.8 ======================================================================== Description ----------- Security researcher Alexey Solovyev (solov9ev) has discovered a reflected XSS vulnerability in userlog-index.php. An attacker could trick a user with access to the user interface of a Revive Adserver instance into clicking on a specifically crafted URL and execute injected JavaScript code. Details ------- The period_preset parameter was not fully escaped in userlog-index.php (and possibly other scripts) when printed it in a JavaScript context, allowing an attacker to work around the existing escaping with the injection of a closing tag. That allows to append other malicious HTML and/or JavaScript code. What could be injected is limited by the existing escaping and the session cookie cannot be accessed or stolen via JavaScript. References ---------- https://hackerone.com/reports/1083231 https://github.com/revive-adserver/revive-adserver/commit/e2a67ce8 https://cwe.mitre.org/data/definitions/79.html ======================================================================== Vulnerability 2 - Reflected XSS ======================================================================== Vulnerability Type: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') [CWE-79] CVE-ID: CVE-2021-22875 CVSS Base Score: 4.3 CVSSv3.1 Vector: AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N CVSS Impact Subscore: 1.4 CVSS Exploitability Subscore: 2.8 ======================================================================== Description ----------- Security researcher Alexey Solovyev (solov9ev) has discovered a reflected XSS vulnerability in stats.php. An attacker could trick a user with access to the user interface of a Revive Adserver instance into clicking on a specifically crafted URL and pressing a certain key combination to execute injected JavaScript code. Details ------- The setPerPage parameter was not fully escaped in stats.php (and possibly other scripts) when printed it in an HTML attribute, allowing an attacker to work around the existing escaping and to inject other HTML attributes. The published exploit requires the victim to press a complex combination of keys to execute JavaScript code injected as onclick attribute of a hidden form field. Again, the session cookie cannot be accessed or stolen via JavaScript. References ---------- https://hackerone.com/reports/1083376 https://github.com/revive-adserver/revive-adserver/commit/6f46076a https://cwe.mitre.org/data/definitions/79.html ======================================================================== Solution ======================================================================== We strongly advise people to upgrade to the most recent 5.1.1 version of Revive Adserver. ======================================================================== Contact Information ======================================================================== The security contact for Revive Adserver can be reached at: . Please review https://www.revive-adserver.com/security/ before doing so. -- Matteo Beccati On behalf of the Revive Adserver Team https://www.revive-adserver.com/