Security

Ekstensi Twitch dengan 30 Ribu Instalasi Diduga Mengekspos OAuth Token Pengguna

Sebuah ekstensi browser bernama Twitch Enhanced Viewer | JeetBot ditemukan menimbulkan risiko keamanan bagi pengguna Twitch. Ekstensi yang tersedia di toko resmi Google Chrome dan Mozilla Firefox tersebut telah memiliki lebih dari 30.000 instalasi dan diduga mengirimkan OAuth token sesi Twitch pengguna ke server pihak ketiga.

Ekstensi ini dipasarkan sebagai tool tambahan untuk Twitch dengan sejumlah fitur seperti pemblokiran iklan, memaksa kualitas video hingga 1080p, melewati pembatasan wilayah, serta mengaktifkan pengumpulan channel points.

Namun, analisis dari perusahaan application security Socket menemukan bahwa ekstensi tersebut mengambil authorization header yang digunakan oleh Twitch web client, mengekstrak OAuth token pengguna, kemudian meneruskannya melalui server proxy yang dioperasikan oleh layanan JeetBot.

OAuth Token Twitch Dikirim melalui Server Proxy

Menurut analisis Socket, ekstensi menangkap authorization header dalam komunikasi Twitch dan mengambil OAuth token yang terdapat di dalamnya.

Token tersebut kemudian dikirim melalui server proxy milik JeetBot, layanan streaming dan chatbot komersial berbahasa Rusia yang menyediakan berbagai tool untuk Twitch, Kick, dan VK Live.

Pada versi ekstensi saat ini, token bahkan ditambahkan secara langsung ke URL request yang diteruskan melalui proxy menggunakan parameter auth=.

Masalahnya, informasi yang ditempatkan di query string URL tersebut dapat tercatat dalam request log server proxy.

Dengan demikian, token OAuth pengguna berpotensi tersimpan dalam log yang dapat diakses oleh pengelola server tersebut.

Socket menjelaskan bahwa ketika ekstensi mengalihkan request playlist video Twitch, termasuk request menuju usher.ttvnw[.]net, token pengguna ditambahkan sebagai parameter query auth= sebelum request diteruskan ke proxy.

Karena token berada dalam URL, nilainya dapat ditulis dalam bentuk plaintext ke request log server.

Terjadi Saat Pengguna Menonton Channel Twitch

Pengiriman token tersebut bukan hanya terjadi pada satu jenis aktivitas tertentu. Berdasarkan analisis Socket, proses tersebut berlangsung pada setiap channel Twitch yang ditonton pengguna.

Ada satu pengecualian: ekstensi memiliki 10 channel berbahasa Rusia yang ditentukan secara hardcoded di dalam kode. Request terhadap channel-channel tersebut tidak mengikuti mekanisme yang sama.

Temuan ini membuat cakupan paparan cukup luas bagi pengguna yang menggunakan ekstensi tersebut secara rutin untuk menonton Twitch.

Versi Lama Lebih Terang-terangan Mengirim Credential

Socket juga menemukan bahwa versi-versi sebelumnya dari ekstensi memiliki mekanisme pencurian credential yang lebih eksplisit.

Deskripsi ekstensi pada Firefox Add-ons bahkan pernah menyertakan disclaimer mengenai mekanisme tersebut. Pengembang menyatakan bahwa versi sebelumnya mengirimkan OAuth token Twitch pengguna ke server mereka dan mengklaim hal itu diperlukan agar streaming dapat berjalan pada resolusi 1080p/1440p.

Meskipun mekanisme tersebut kemudian mengalami perubahan, analisis terhadap versi saat ini menunjukkan bahwa OAuth token masih dapat diteruskan melalui server proxy pihak ketiga.

Pernyataan Privasi Menimbulkan Pertanyaan

Menariknya, disclosure privasi untuk versi Chrome dari Twitch Enhanced Viewer | JeetBot menyatakan bahwa pengembang tidak akan mengumpulkan atau menggunakan data pengguna.

Pernyataan tersebut juga mencakup deklarasi bahwa data pengguna tidak akan dijual kepada pihak ketiga, kecuali dalam kondisi tertentu yang diperbolehkan, tidak akan ditransfer untuk tujuan di luar fungsi inti produk, serta tidak digunakan untuk menentukan kelayakan kredit atau keperluan pinjaman.

Namun, temuan mengenai OAuth token yang diteruskan ke server proxy pihak ketiga menimbulkan pertanyaan mengenai bagaimana mekanisme tersebut sejalan dengan deklarasi privasi yang ditampilkan kepada pengguna.

Pada saat laporan dipublikasikan, ekstensi tersebut masih tersedia di Chrome Web Store maupun Firefox Add-ons.

Pengelola JeetBot telah dihubungi untuk memberikan penjelasan lebih lanjut melalui alamat email yang tercantum di Chrome Web Store, tetapi belum memberikan tanggapan hingga laporan tersebut diterbitkan.

Apa Risiko bagi Pengguna Twitch?

OAuth token pada dasarnya berfungsi sebagai kredensial sesi yang memungkinkan aplikasi atau layanan bertindak atas nama akun pengguna sesuai hak akses yang diberikan.

Jika token tersebut jatuh ke tangan pihak lain, terdapat risiko bahwa sesi atau akses akun dapat disalahgunakan, tergantung pada cakupan izin token dan mekanisme keamanan yang diterapkan Twitch.

Yang membuat situasi ini semakin mengkhawatirkan adalah token tidak hanya melewati server milik Twitch, tetapi juga dapat masuk ke log server proxy pihak ketiga.

Pengguna yang telah memasang ekstensi tersebut sebaiknya menganggap token yang pernah dikirim melalui mekanisme tersebut berpotensi telah terekspos.

Pengguna Disarankan Menghapus Ekstensi dan Reset Sesi

Peneliti Socket merekomendasikan pengguna untuk menghapus Twitch Enhanced Viewer | JeetBot dari browser.

Setelah itu, pengguna sebaiknya:

  1. Memutuskan seluruh sesi aktif pada akun Twitch.
  2. Melakukan autentikasi ulang ke Twitch.
  3. Memastikan ekstensi tersebut benar-benar sudah dihapus dari browser.
  4. Memeriksa aktivitas akun jika menemukan perilaku yang tidak biasa.

Memutuskan seluruh sesi kemudian melakukan login kembali penting dilakukan untuk membantu membatalkan token yang mungkin sebelumnya telah diteruskan melalui server proxy.

Developer Diingatkan Tidak Meneruskan Token ke Server Pihak Ketiga

Insiden ini juga menjadi pengingat bagi developer ekstensi browser dan aplikasi pihak ketiga agar tidak sembarangan meneruskan request yang mengandung authentication header atau token melalui server eksternal.

Jika proxy memang diperlukan, mekanisme autentikasi harus dirancang dengan sangat hati-hati agar credential pengguna tidak ikut terekspos atau tercatat dalam log.

Bagi pengguna, kasus ini menunjukkan bahwa keberadaan sebuah ekstensi di toko browser resmi bukan berarti seluruh perilakunya otomatis aman. Ekstensi dengan puluhan ribu instalasi pun tetap dapat menimbulkan risiko apabila meminta akses yang terlalu luas atau mengirimkan data autentikasi ke infrastruktur pihak ketiga.

Sumber: Socket

Leave a Reply

Your email address will not be published. Required fields are marked *


Back to top button