6 poin oleh GN⁺ 2025-03-01 | Belum ada komentar. | Bagikan ke WhatsApp

"Tentu saja Firebase adalah (sebagian) penyebabnya"

  • Saat menelusuri proses pengunduhan installer editor AI Cursor, ditemukan bahwa aplikasi mencoba terhubung ke ToDesktop melalui firewall Lulu
    • ToDesktop adalah layanan yang menyediakan pemaketan aplikasi Electron, SDK, pembaruan, dan lainnya
  • Setelah dipastikan bahwa aplikasi menggunakan Firestore, investigasi dasar terhadap Firebase dimulai melalui alat pengembang
    • Firebase: platform backend aplikasi dari Google yang mendukung penyimpanan dan pemrosesan data sisi klien melalui database NoSQL bernama Firestore
  • Dengan memanfaatkan DevTools dan sourcemap, koleksi-koleksi yang digunakan di Firestore ditelusuri
  • Ditemukan koleksi bernama temporaryApplications, tetapi isinya hanya daftar lama dan tidak mengandung informasi sensitif (tidak diperbarui sejak 2022)
  • Dipastikan bahwa sebagian besar logika utama dan pekerjaan deployment dilakukan melalui paket npm @todesktop/cli
  • @todesktop/cli juga memiliki sourcemap, sehingga struktur source aslinya dipetakan menggunakan sourcemapper

Menelusuri ToDesktop CLI

  • ToDesktop CLI: menangani fungsi-fungsi utama seperti deployment aplikasi, unggah source code, dan sebagainya
  • Saat menganalisis sourcemap CLI, ditemukan kerentanan yang memungkinkan penyalahgunaan Firebase Cloud Function getSignedURL untuk mencoba upload S3 arbitrer, tetapi tampaknya sulit menemukan path file yang benar-benar bermakna

Membajak pipeline deployment melalui skrip postinstall

  • Tujuannya adalah memperoleh hak eksekusi kode di dalam container (server) tempat proses build berjalan
  • Payload reverse shell dimasukkan ke skrip postinstall di package.json, lalu koneksi diterima dari container build
  • Berhasil mendapatkan akses ke dalam container dan menelusuri struktur lingkungan build serta file-file penting
  • Ditemukan file config.json.encrypted, lalu metode dekripsinya juga berhasil diungkap sehingga secret yang sebenarnya (config.json) dapat diekstrak
  • Selain itu, kunci Firebase Admin (kunci dengan hak akses luas) juga ditemukan di dalam lingkungan tersebut

Post-exploitation

  • Dengan kerentanan ini, pembaruan aplikasi arbitrer dapat didistribusikan sesuka hati, sehingga kode berbahaya bisa langsung dieksekusi saat pengguna me-restart aplikasi
  • Pembaruan benar-benar didistribusikan ke aplikasi uji, lalu RCE (remote code execution) berhasil direproduksi di sisi klien

Cakupan dampak

  • Karena pembaruan berbahaya dapat didistribusikan ke semua aplikasi yang menggunakan ToDesktop, ini adalah masalah yang berpotensi memengaruhi lebih dari jutaan pengguna
  • Contoh aplikasi yang disebutkan:
  • Khususnya, banyak pengguna aplikasi-aplikasi ini bekerja di industri IT dan teknologi, sehingga potensi dampak serangan bisa sangat besar

Perbaikannya

  • Setelah laporan dikirim, proses penanganan segera dijalankan bersama pihak ToDesktop
  • ToDesktop dengan cepat menyelesaikan masalah tersebut dan memberikan kompensasi tambahan
  • Arsitekturnya diubah agar pekerjaan penting seperti penandatanganan dan upload dilakukan di sidecar container dengan hak akses terpisah dari build container
  • Laporan resmi insiden keamanan dari ToDesktop dapat dilihat di sini
  • Insiden keamanan bisa terjadi pada perusahaan mana pun, tetapi yang penting adalah cara menanggapinya, dan ToDesktop meninggalkan kesan positif karena merespons dengan cepat dan kooperatif

Belum ada komentar.

Belum ada komentar.