Kerentanan di Manajer Ketergantungan CocoaPods Mengekspos Jutaan Aplikasi

  • Whatsapp
view counter


Kerentanan eksekusi kode jarak jauh yang teridentifikasi di server pusat CocoaPods dapat memungkinkan penyerang meracuni unduhan paket apa pun, ungkap peneliti keamanan Max Justicz.

Bacaan Lainnya

Manajer ketergantungan untuk proyek Swift dan Objective-C Cocoa, CocoaPods memiliki lebih dari 82.000 perpustakaan dan digunakan di lebih dari 3 juta aplikasi. Alat ini dibuat menggunakan Ruby dan dapat digunakan dengan Ruby default di macOS.

Kerentanan yang teridentifikasi, jelas Justicz, berada dalam fungsi yang dirancang untuk memeriksa bahwa, ketika spesifikasi paket diunggah ke CocoaPods, itu tidak tertaut ke repositori pribadi.

Singkatnya: cara fungsi memeriksa konten sebuah bendera dapat memungkinkan penyerang untuk menyajikan konten yang disesuaikan dan menyalahgunakannya untuk menjalankan perintah.

Kerentanan tersebut diungkapkan ke CocoaPods pada hari Senin, dan patch diterapkan di sisi server pada hari yang sama.

“Eksploitasi adalah kombinasi dari masukan pengguna yang tidak dibersihkan yang masuk ke parameter panggilan git yang dapat digunakan untuk mengirim muatan jarak jauh,” pengembang CocoaPods, Orta Therox menjelaskan.

Eksploitasi cacat yang berhasil, catatnya, dapat menyebabkan eksekusi perintah shell sewenang-wenang di server, sehingga memungkinkan penyerang untuk membaca variabel lingkungan dan menulis ke repo CocoaPods / Specs atau bahkan membaca database trunk.

Meskipun patch tersebut diterapkan di sisi server dan penginstalan CocoaPods tidak terpengaruh, developer masih perlu masuk ke repositori sentral Podspec (trunk) lagi dan menerapkan Podspec baru apa pun.

Perubahan tersebut juga menghentikan penerapan otomatis ke CocoaPods dan mengharuskan pengembang untuk mengganti COCOAPODS_TRUNK_TOKEN mereka. Namun, ini memastikan bahwa tidak ada orang lain yang memiliki akses ke pod seseorang.

Kerentanan diperkenalkan pada tahun 2015 tetapi, meskipun kelemahan tersebut berada di server dalam waktu yang lama, tim CocoaPods tidak percaya bahwa repo CocoaPods Specs telah dirusak. Lebih lanjut, kata mereka, tidak ada bukti bahwa ada orang yang mengeksploitasi masalah tersebut dengan cara dijelaskan oleh Justicz.

“Namun, hanya karena belum terbukti, bukan berarti belum terjadi. 6 tahun adalah waktu yang lama. Skenario kasus terburuk adalah bahwa penyerang dapat menggunakan teknik ini untuk mendapatkan akses ke database trunk kami, ”catatan Therox.

Meskipun basis data trunk berisi alamat email yang sudah bersifat publik, ia juga berisi kunci sesi, yang dapat digunakan untuk mengizinkan pengguna yang tidak berkepentingan untuk terhubung ke pod. Karenanya, CocoaPods menghapus semua kunci sesi, untuk mencegah pod disusupi.

“Dari sisi penyelidikan kami, kami tidak dapat secara otomatis mendeteksi jika seseorang telah menyebarkan salinan Pod yang diracuni,” catat Therox.

Terkait: Ketergantungan Perpustakaan dan Mimpi Buruk Rantai Pasokan Sumber Terbuka

Terkait: Ketergantungan Perangkat Lunak Mengekspos Microsoft, Apple ke Serangan Berdampak Tinggi

Terkait: GitHub Membantu Pengembang Menjaga Dependensi Aman melalui Dependabot

Ionut Arghire adalah koresponden internasional untuk SecurityWeek.

Kolom Sebelumnya oleh Ionut Arghire:
Tag:



Source

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *