Apa yang terjadi
Validasi endpoint MCP Chainlit memungkinkan penyerang melewati entri allowed_urls yang dibatasi jalur dengan menyematkan segmen '..;', memungkinkan SSRF ke jalur yang tidak pernah diizinkan oleh operator. Diterbitkan 2026-11-02 dengan GitHub Security Advisory dan advisory VulnCheck; ini adalah server-side request forgery tingkat keparahan sedang (CVSS 3.1 5.4 / CVSS 4.0 6.3) pada permukaan Model Context Protocol asli framework ini.
Mengapa penting
Chainlit adalah framework open-source yang banyak digunakan untuk membangun aplikasi LLM/chatbot dan mengekspos endpoint MCP yang dipanggil oleh agen dan pengguna. Melewati allowlist MCP yang dibatasi jalur mengubah server MCP milik framework itu sendiri menjadi primitif permintaan arbitrer, memungkinkan penyerang mencapai metadata internal, jalur admin, atau layanan di dekatnya yang dianggap operator telah diputus.
Vektor serangan
Penyerang yang tidak terautentikasi mengirimkan URL MCP yang berisi segmen jalur '..;' ke endpoint /mcp. validate_mcp_url Chainlit tidak menolak karakter titik koma, sehingga URL yang awalan jalurnya melewati izin allowed_urls dapat diselesaikan (pada origin yang menghapus parameter jalur titik koma) ke jalur di luar otorisasi operator, menghasilkan server-side request forgery.
Sistem yang terdampak
Chainlit 2.12.0 (rentang lebih luas sesuai GHSA-hvfh-5mj3-5f3j); validate_mcp_url di backend/chainlit/mcp.py
Mitigasi
Tingkatkan Chainlit ke versi yang ditambal yang dirujuk oleh GHSA-hvfh-5mj3-5f3j / advisory VulnCheck; tolak karakter titik koma di validate_mcp_url dan batasi URL MCP ke cakupan jalur yang diizinkan; pastikan origin backend benar-benar menghapus parameter jalur titik koma.