idNSA.id - Bug perangkat lunak yang diperkenalkan dalam implementasi API IndexedDB Apple Safari 15 dapat disalahgunakan oleh situs web malicious untuk melacak aktivitas online pengguna di browser web dan lebih buruk lagi, bahkan mengungkapkan identitas.
Kerentanan, dijuluki IndexedDB Leaks, diungkapkan oleh perusahaan perangkat lunak perlindungan penipuan FingerprintJS, yang melaporkan masalah tersebut kepada pembuat iPhone pada 28 November 2021.
IndexedDB adalah antarmuka pemrograman aplikasi JavaScript (API) tingkat rendah yang disediakan oleh browser web untuk mengelola database NoSQL dari objek data terstruktur seperti file dan blob.
"Seperti kebanyakan solusi penyimpanan web, IndexedDB mengikuti kebijakan asal yang sama," catatan Mozilla dalam dokumentasi API-nya. "Jadi, meskipun Anda dapat mengakses data yang disimpan dalam suatu domain, Anda tidak dapat mengakses data di seluruh domain yang berbeda."
Same-origin adalah mekanisme keamanan mendasar yang memastikan bahwa sumber daya yang diambil dari origin yang berbeda — yaitu, kombinasi skema (protokol), host (domain), dan nomor port URL — diisolasi satu sama lain. Ini secara efektif berarti bahwa "http[:]//example[.]com/" dan "https[:]//example[.]com/" tidak berasal dari origin yang sama karena menggunakan skema yang berbeda.
Dengan membatasi bagaimana skrip yang dimuat oleh satu origin dapat berinteraksi dengan sumber daya dari origin lain, idenya adalah untuk mengasingkan skrip yang berpotensi berbahaya dan mengurangi potensi vektor serangan dengan mencegah situs web malicious menjalankan kode JavaScript arbitrer untuk membaca data dari domain lain, katakanlah, sebuah layanan email.
Namun tidak demikian halnya dengan cara Safari menangani API IndexedDB di Safari di iOS, iPadOS, dan macOS.
"Di Safari 15 di macOS, dan di semua browser di iOS dan iPadOS 15, API IndexedDB melanggar kebijakan asal yang sama," kata Martin Bajanik dalam sebuah tulisan. "Setiap kali situs web berinteraksi dengan database, database baru (kosong) dengan nama yang sama dibuat di semua frame, tab, dan window aktif lainnya dalam sesi browser yang sama."
Konsekuensi dari pelanggaran privasi ini adalah memungkinkan situs web untuk mempelajari situs web lain yang dikunjungi pengguna di tab atau jendela yang berbeda, belum lagi mengidentifikasi secara tepat pengguna di layanan layanan Google seperti YouTube dan Google Kalender karena situs web ini membuat basis data IndexedDB yang menyertakan ID Pengguna Google yang diautentikasi, yang merupakan pengenal internal yang secara unik mengidentifikasi satu akun Google.
"Ini tidak hanya menyiratkan bahwa situs web yang tidak tepercaya atau berbahaya dapat mempelajari identitas pengguna, tetapi juga memungkinkan menautkan beberapa akun terpisah yang digunakan oleh pengguna yang sama," kata Bajanik.
Lebih buruk lagi, kebocoran juga mempengaruhi mode Private browsing di Safari 15 jika pengguna mengunjungi beberapa situs web berbeda dari dalam tab yang sama di window browser. Kami telah menghubungi Apple untuk komentar lebih lanjut, dan kami akan memperbarui cerita jika kami mendengarnya kembali.
"Ini adalah bug besar," Jake Archibald, advokat pengembang untuk Google Chrome, mentweet . "Di OSX, pengguna Safari dapat (sementara) beralih ke browser lain untuk menghindari kebocoran data di seluruh source. Pengguna iOS tidak punya pilihan seperti itu, karena Apple memberlakukan larangan pada mesin browser lain."