- Seorang siswa SMA berusia 16 tahun memublikasikan rangkuman kasus bagaimana kerentanan pada platform Mintlify memungkinkan serangan cross-site scripting (XSS) pada situs dokumentasi perusahaan besar seperti X, Vercel, Cursor, dan Discord. Melalui kerentanan ini, ia menerima bug bounty sebesar 11.000 dolar
- Jalur internal Mintlify
/_mintlify/static/[subdomain]/[...route] dirancang dengan struktur yang dapat memuat file eksternal tanpa verifikasi domain
- Penyerang dapat menyisipkan JavaScript ke dalam file SVG untuk menjalankan skrip berbahaya di domain layanan besar seperti Discord
- Kerentanan ini berdampak pada hampir semua pelanggan yang menggunakan Mintlify, dan pembajakan akun dimungkinkan hanya dengan satu kali klik tautan
- Insiden ini dinilai sebagai contoh bagaimana satu kelemahan dalam keamanan supply chain dapat memicu dampak besar-besaran
Penemuan di Discord
- Pada November 2025, Discord beralih ke platform dokumentasi berbasis AI Mintlify, dan sejak itu pencarian kerentanan dimulai
- Tepat setelah migrasi dari platform kustom lama ke Mintlify, peneliti menganalisis struktur sistem dokumentasi baru
- Domain dokumentasi Discord (
discord.mintlify.app) mengekspose jalur internal Mintlify (/_mintlify/*) apa adanya
- Jalur ini harus tetap dapat diakses karena diperlukan untuk fitur-fitur utama seperti autentikasi
Struktur platform Mintlify
- Mintlify adalah layanan yang mendukung penulisan dokumentasi berbasis Markdown dan otomatis mengubahnya menjadi dokumentasi web
- Semua situs dokumentasi dijalankan di subdomain
*.mintlify.app atau domain kustom
- Secara internal, layanan ini menggunakan endpoint seperti
/_mintlify/api/user, /_mintlify/markdown/, dan /_mintlify/static/
Proses penelusuran kerentanan
- Ditemukan bahwa endpoint
/_mintlify/_markdown/_sites/[subdomain]/[...route] mengembalikan file dari dokumentasi lain tanpa verifikasi domain
- Namun, jalur ini hanya mengembalikan teks Markdown yang belum dirender sehingga kode tidak dapat dieksekusi
- Setelah itu, analisis terhadap paket Mintlify CLI menemukan endpoint tambahan
/_mintlify/static/[subdomain]/[...route]
- Jalur ini mengembalikan file statis dan menerapkan whitelist ekstensi file
- File HTML dan JS diblokir, tetapi file SVG diizinkan
Realisasi serangan
- Penyerang mengunggah file SVG yang telah disisipi JavaScript ke dokumentasi Mintlify miliknya
- Saat file tersebut dipanggil dari domain Discord (
https://discord.com/_mintlify/_static/.../lmao.svg), skrip akan dieksekusi
- Dengan cara ini, XSS dapat dijalankan bukan hanya di Discord, tetapi juga di domain dokumentasi semua perusahaan yang menggunakan Mintlify
Kolaborasi dan pelaporan
- Peneliti bekerja sama dengan peneliti keamanan lain untuk memverifikasi kerentanan
- Segera setelah laporan diterima, Discord menonaktifkan seluruh dokumentasi developer selama 2 jam, lalu kembali ke platform lama
- Setelah mengetahui kerentanan ini melalui Discord, Mintlify membuka kanal Slack antara tim engineering dan para peneliti untuk segera mengerjakan perbaikan
Cakupan dampak
- Sebagian besar pelanggan Mintlify seperti X (Twitter), Vercel, Cursor, dan Discord termasuk dalam cakupan dampak
- Di domain resmi masing-masing perusahaan, ada kemungkinan pembajakan akun melalui satu tautan berbahaya
- Satu kerentanan dalam supply chain dapat menimbulkan risiko berantai terhadap keamanan ratusan perusahaan
Imbalan dan kesimpulan
- Tim peneliti menerima total sekitar 11.000 dolar AS dalam bentuk bug bounty
- Discord memberikan 4.000 dolar, dan Mintlify memberi imbalan tambahan untuk tiap kerentanan
- Kasus ini menjadi contoh representatif yang menunjukkan pentingnya keamanan supply chain dan besarnya dampak kerentanan pada satu platform
Belum ada komentar.