July 25, 2026
Writeup VDP CVE-2026–42031 (CKAN SQLI & Autherization bypass) di data.redaced.go.id
“Sebagai bagian dari transparansi dan praktik responsible disclosure, tulisan ini mendokumentasikan alur penemuan, akar masalah (root…
By Jayy
1 min read
"Sebagai bagian dari transparansi dan praktik responsible disclosure, tulisan ini mendokumentasikan alur penemuan, akar masalah (root cause), serta langkah-langkah mitigasi yang telah diterapkan untuk menutup celah keamanan CVE-2026–42031.
Ringkasan Kerentanan
CVE-2026–42031 adalah kerentanan miskonfigurasi pada DMS(Data Menagement System) CKAN yang menginfeksi endpoint /datastore_search_sql sebelum versi 2.10.10 dan 2.11.5
Bagi yang belum tau CKAN adalah sebuah DMS(Data Menagement System) cukup populer digunakan pada platform portal data terbuka pemerintah sebagai transparansi publik, yang dimana bisa menjadi bumerang jika tidak dikonfigurasi dengan baik, pada versi
Kerentanan ini sendiri sebenarnya termasuk kerentanan yang masih baru, dan tanggal saya menemukan kerentanan CVE-2026–42031 ini di VDP dengan tanggal dipublikasikan di nvd.nist.gov hanya sekitar kurang lebih 100 hari
PoC (Proof of Concept)
Reconnaissance
Pencarian awal dilakukan menggunakan Google Dorking untuk menemukan instance CKAN:
site:data.redacted.go.id ckansite:data.redacted.go.id ckan
Testing dengan Nuclei
Saya menggunakan framework Nuclei dengan template untuk CVE CKAN yang tersedia di komunitas.
Hasil scan menunjukkan indikasi kerentanan pada endpoint datastore_search_sql.
Verifikasi Manual
Untuk memastikan kerentanan benar-benar ada (false positive handling), saya melakukan verifikasi manual dengan mengirimkan request ke endpoint datastore_search_sql.
Request yang dikirimkan:
https://data.redacted.go.id/api/action/datastore_search_sql?sql=SELECT+ts_rewrite('a'::tsquery,+'SELECT+''a''::tsquery,+(SELECT+current_database())::tsquery')https://data.redacted.go.id/api/action/datastore_search_sql?sql=SELECT+ts_rewrite('a'::tsquery,+'SELECT+''a''::tsquery,+(SELECT+current_database())::tsquery')Hasil Respons:
Server merespons dengan status code 200 OK dan mengembalikan data JSON yang berisi informasi database yang digunakan saat ini yaitu datastore.
Berdasarkan hasil verifikasi ini, kerentanan dinyatakan valid (Confirmed) dan siap dilaporkan.
Mintigasi dan pelaporan
Nonaktifkan pencarian sql pada CKAN:
ckan.datastore.sqlsearch.enabled = falseckan.datastore.sqlsearch.enabled = falseRespon dari tim keamanan instansi pemilik aset sangat cepat serta ramah, saya benar-banar menghargai pelayanan mereka, mereka juga memberi saya sebuah sertifikat apresiasi yang saat ini sudah saya pajang di rumah saya. Nmaun karena beberapa alasan saya enggan melampirkannya dalam blog ini.
Untuk penutup dari blog Writeup VDP ini sekali lagi saya sangat berterimakasih atas apresiasi yang diberikan kepada instansi kepada saya, sampai jumpa di Writeup berikutnya 👋.