Revive Adserver Security Advisory REVIVE-SA-2021-002

  • Advisory ID: REVIVE-SA-2021-002
  • CVE-IDs: CVE-2021-22874, CVE-2021-22875
  • Date: 2021-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
  • CVSSv3.1 Vector: AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
  • CVSS Base Score: 4.3
  • 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 </script> 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

Vulnerability 2 – Reflected XSS

  • Vulnerability type: Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’) [CWE-79]
  • CVE-ID: CVE-2021-22875
  • CVSSv3.1 Vector: AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
  • CVSS Base Score: 4.3
  • 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

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: <security AT revive-adserver DOT com>

Please review https://www.revive-adserver.com/security/ before doing so.