Bug Keamanan CD Argo Membuka Aplikasi Cloud Kubernetes untuk Penyerang

Kerentanan keamanan tingkat tinggi
A di Argo CD dapat memungkinkan penyerang mengakses lingkungan pengembangan aplikasi target, membuka jalan untuk mencuri kata sandi, kunci API, token, dan informasi sensitif lainnya. CD

Argo adalah platform pengiriman berkelanjutan yang digunakan sebagai pengontrol Kubernetes di cloud, dan digunakan untuk menyebarkan aplikasi, lalu terus memantaunya secara real time saat dijalankan.

Bug adalah masalah lintasan-lintasan, menurut tim penelitian keamanan Apiiro, yang terjadi ketika musuh dapat mengakses file dan direktori yang disimpan di luar ruang lingkup yang diizinkan. Ini membawa skor 7,7 dari 10 skala kerentanan-keparahan CVSS.

Attackers dapat mengeksploitasi bug (CVE-2022-24348) dengan memuat file YAML Kubernetes Helm Chart yang berbahaya ke dalam sistem CD Argo, kemudian menggunakannya untuk “melompat” ” dari ekosistem aplikasi mereka sendiri untuk mengakses data aplikasi lain, kata peneliti.

Menghancurkan Vektor Serangan Argo

Kerentanan ada dalam cara Argo CD menangani kontrol untuk mekanisme keamanan anti-path-traversal, menurut Apiiro.

Dalam hal bagaimana bug dapat dieksploitasi secara khusus, penting untuk memahami bagaimana pengguna dapat memanfaatkan Argo CD untuk membangun jalur penerapan aplikasi, catat Apiiro. Mereka dapat melakukan ini dengan dua cara: Dengan mendefinisikan repositori Git; atau dengan membuat file Bagan Helm Kubernetes. Masalahnya terletak pada pendekatan terakhir.

“A Helm Chart adalah file YAML yang menyematkan bidang yang berbeda untuk membentuk deklarasi sumber daya dan konfigurasi yang diperlukan untuk menyebarkan aplikasi,” menurut analisis Apiiro pada hari Kamis. File tersebut mencakup “metadata dan informasi yang diperlukan untuk menerapkan konfigurasi Kubernetes yang sesuai, dan kemampuan untuk memperbarui konfigurasi cloud secara dinamis saat manifes sedang dimodifikasi.”

Aplikasi yang sedang dibangun mungkin memiliki blok penyusun tertentu, yang dapat disimpan di file lain yang berfungsi sebagai bagian aplikasi mandiri yang disimpan di repositori.

“Repositori disimpan di server atau pod khusus bernama argocd-reposerver,” menurut Apiiro. “Tidak ada segmentasi yang kuat selain hierarki file, jadi mekanisme anti-path-traversal adalah kunci utama keamanan file.”

A Mekanisme Anti-Path-Traversal Bermasalah

Argo Mekanisme anti-path-traversal CD ditangani oleh satu file di kode sumber, menurut analisis. File melakukan pembersihan prosedural input jalur sumber – dan memeriksa apakah versi pembersihan jalur yang dihasilkan cocok dengan subdirektori dari direktori operasi saat ini. Hal ini dilakukan dengan mengevaluasi elemen yang terdaftar di bawah bidang valueFiles Bagan Helm.

Bidang valueFiles diuraikan oleh aplikasi dimulai dengan pemeriksaan awal untuk konten nilai input: “Kode mencari string berpola yang akan masuk ke dalam cetakan URI dengan memanfaatkan fungsi yang disebut ParseRequestURI,” jelas peneliti.

ParseRequestURI mem-parsing URL mentah ke dalam struktur URL, dan mengasumsikan bahwa URL mentah diterima dalam permintaan HTTP, catat mereka. Hal ini pada gilirannya memungkinkan untuk membingungkan parser, untuk membuatnya berpikir bahwa nama jalur file lokal adalah URL yang valid – yang akan menyebabkan parser melewati pemeriksaan mekanisme pembersihan dan anti-pelintasan, kata mereka.

“Jika valueFile yang terdaftar akan terlihat seperti URI, itu akan diperlakukan sebagai satu, melewatkan semua pemeriksaan lainnya dan memperlakukannya sebagai URL yang sah,” jelas para peneliti. “Karena perilaku default fungsi adalah menerima begitu saja bahwa ia menerima permintaan HTTP, itu bisa menjadi jalur absolut dari URL seperti /directory/values.yaml. Saat melihatnya sebagai URL, ia lolos uji kewarasan tetapi merupakan jalur file mutlak.”

Dengan demikian, penyerang dapat menggunakan Bagan Helm yang dibuat khusus, dijebak dengan permintaan jalur file aplikasi yang mengarah ke bagian lingkungan aplikasi di luar lingkup mereka , menurut Apiiro – yang cenderung dapat ditebak.

“Karena reposerver menggunakan struktur file monolitik dan deterministik, semua aplikasi out-of-bound lainnya memiliki format dan jalur yang pasti dan dapat diprediksi,” kata para peneliti. “Penyerang dapat merakit panggilan langsung yang digabungkan ke file values.yaml tertentu, yang digunakan oleh banyak aplikasi sebagai pengikut untuk nilai rahasia dan sensitif.”

Dampak Eksploitasi

Jika penyerang cyber berhasil mengeksploitasi bug, mereka dapat membaca konten file lain hadir di reposerver, yang dapat berisi informasi sensitif, menurut analisis. Sementara itu cukup mengkhawatirkan, para peneliti juga mencatat bahwa eksploitasi dapat menawarkan pijakan untuk bergerak secara lateral melalui cloud organisasi.

“Karena file aplikasi biasanya berisi bermacam-macam nilai transitif dari rahasia, token, dan pengaturan sensitif lingkungan – ini dapat digunakan secara efektif oleh penyerang untuk lebih memperluas kampanye mereka dengan bergerak secara lateral melalui layanan yang berbeda dan meningkatkan hak istimewa mereka untuk mendapatkan lebih banyak landasan pada sistem dan sumber daya organisasi target, ”jelas mereka.

Administrator harus memperbarui dengan patch Argo CD sesegera mungkin, terutama mengingat fakta bahwa penyerang siber mengikuti peningkatan jumlah organisasi yang memindahkan beban kerja ke sumber daya cloud dan Kubernetes.

Perlu juga dicatat bahwa Argo sendiri telah digunakan di masa lalu untuk melakukan serangan. Juli lalu terungkap bahwa izin yang salah dikonfigurasi untuk dasbor yang menghadap web Argo Workflows sedang dieksploitasi oleh penyerang yang tidak diautentikasi untuk menjalankan kode pada target Kubernetes, termasuk wadah cryptomining.

Scroll to Top