POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listKedua endpoint ini menerima konfigurasi server MCP lengkap dalam badan (body) permintaan JSON, termasuk field Cmd, args, dan env yang digunakan oleh transport stdio untuk meluncurkan proses server . Ketika pengguna yang terotentikasi memanggil salah satu endpoint dengan konfigurasi ini, LiteLLM mengambil nilai Cmd yang diberikan dan menjalankannya sebagai subproses di mesin host, dengan hak akses sistem operasi yang sama dengan proses proxy LiteLLM itu sendiri
.
Awalnya, BerriAI mengungkapkan ini sebagai bug RCE terotentikasi—penyerang memerlukan kunci API yang valid untuk mencapai endpoint tersebut, dan tidak ada pemeriksaan berbasis peran untuk membatasi siapa yang bisa memanggilnya. Bahkan pengguna internal dengan hak istimewa rendah yang memiliki kunci API proxy yang valid pun dapat mengeksekusi perintah sewenang-wenang di host . Tapi ceritanya tidak berhenti di situ.
Kerentanan kedua adalah CVE-2026-48710, yang dijuluki "BadHost" oleh para peneliti. Ini adalah celah validasi host header di Starlette, framework ASGI ringan yang menjadi fondasi bagi FastAPI, vLLM, dan ribuan aplikasi web Python lainnya—termasuk LiteLLM . Semua versi Starlette dari 0.8.3 hingga 1.0.0 terpengaruh
.
Akar masalahnya adalah perbedaan cara parsing antara bagaimana Starlette merutekan permintaan masuk dan bagaimana ia merekonstruksi URL untuk logika aplikasi . Lapisan routing ASGI menggunakan path HTTP mentah dari permintaan untuk menentukan endpoint mana yang menanganinya. Tetapi
request.url—URL yang dilihat oleh middleware dan dekorator aplikasi—dibangun ulang dengan menggabungkan nilai header Host mentah dengan path permintaan, tanpa validasi yang memadai .
Dengan menyuntikkan karakter pemisah URI seperti ? atau # ke dalam header Host, penyerang dapat membuat request.url.path tampak benar-benar berbeda dari path yang sebenarnya dirutekan . Middleware melihat path yang tampaknya aman seperti
/, sementara router di belakang layar meneruskan permintaan ke endpoint target yang sebenarnya. Setiap middleware otentikasi berbasis path yang mempercayai request.url.path dapat dilewati dengan mudah .
Dekorator otentikasi LiteLLM memeriksa request.url.path untuk menentukan apakah sebuah permintaan memerlukan kunci API yang valid. Bypass 'BadHost' memungkinkan penyerang memanipulasi URL tersebut sehingga middleware otentikasi melihat path yang tidak memerlukan otentikasi, sementara router ASGI secara bersamaan mengirimkan permintaan ke salah satu endpoint injeksi perintah MCP yang rentan .
Ini menghilangkan satu-satunya gerbang kontrol akses yang berdiri antara internet dan eksekusi perintah sewenang-wenang. Seorang penyerang tanpa kredensial dan tanpa akses sebelumnya ke jaringan dapat mengirim satu permintaan HTTP yang dibuat khusus yang sepenuhnya melewati otentikasi dan menjalankan perintah sistem operasi di host proxy LiteLLM . Horizon3.ai mengonfirmasi bahwa rantai penuh ini berfungsi dan memberinya skor CVSS gabungan 10.0—tingkat keparahan maksimum—karena mencapai RCE tanpa otentikasi
.
Eksploitasi yang berhasil memberi penyerang eksekusi perintah dengan hak istimewa dari proses proxy LiteLLM. Dari sana, permukaan ancaman meluas dengan cepat:
Penambahan CVE-2026-42271 ke katalog KEV oleh CISA pada 8 Juni 2026 menegaskan bahwa kerentanan ini bukanlah teoretis—penyerang sedang aktif mempersenjatai dan menggunakannya saat ini . Berdasarkan Binding Operational Directive 22-01, semua lembaga cabang eksekutif sipil federal AS diwajibkan untuk menambal kerentanan yang terdaftar di KEV dalam jangka waktu remediasi yang ditentukan. CISA juga sangat menyarankan semua organisasi, baik publik maupun swasta, untuk memperlakukan penambahan ke dalam KEV sebagai prioritas penambalan darurat
.
Perbaikan untuk eksploitasi berantai ini memerlukan pembaruan di dua sisi, ditambah beberapa langkah pertahanan berlapis untuk mengatasi paparan kredensial:
Host yang masuk berdasarkan spesifikasi URL dan mengabaikan header yang mengandung karakter tidak valid, mencegah trik 'path confusion' yang mendukung bypass otentikasi POST /mcp-rest/test/connectionPOST /mcp-rest/test/tools/listHost yang dimanipulasi Tingkat keparahan gabungan CVSS 10.0, eksploitasi aktif di alam liar, dan penunjukan katalog KEV oleh CISA berarti organisasi yang menjalankan layanan bertenaga LiteLLM atau Starlette harus memperlakukan ini sebagai peristiwa tambal-dan-putar (patch-and-rotate) darurat. Jendela antara eksploitasi aktif dan pencurian kredensial sudah terbuka.
Comments
0 comments