Cacat Karat Kritis Menimbulkan Ancaman Eksploitasi dalam Kasus Penggunaan Windows Tertentu

Cacat Karat Kritis Menimbulkan Ancaman Eksploitasi dalam Kasus Penggunaan Windows Tertentu

Cacat Karat Kritis Menimbulkan Ancaman Eksploitasi dalam Kasus Penggunaan Windows Tertentu Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Proyek Rust telah mengeluarkan pembaruan untuk perpustakaan standarnya, setelah peneliti kerentanan menemukan fungsi spesifik yang digunakan untuk mengeksekusi file batch pada sistem Windows dapat dieksploitasi menggunakan kelemahan injeksi.

Kumpulan fungsi umum yang disertakan dengan bahasa pemrograman Rust, yang dikenal sebagai pustaka standar, menawarkan kemampuan โ€” di antara banyak kemampuan lainnya โ€” untuk mengeksekusi file batch Windows melalui Command API. Namun, fungsi tersebut tidak memproses masukan ke API dengan cukup teliti untuk menghilangkan kemungkinan memasukkan kode ke dalam eksekusi, menurut penasehat Kelompok Kerja Respons Keamanan Karat diterbitkan 9 April.

Meskipun Rust terkenal dengan fitur keamanan memorinya, insiden ini menggarisbawahi bahwa bahasa pemrograman tersebut tidak tahan terhadap bug logika, kata Yair Mizrahi, peneliti kerentanan senior di perusahaan keamanan aplikasi JFrog.

โ€œSecara keseluruhan, keamanan memori Rust merupakan keuntungan penting, namun pengembang juga harus memperhatikan potensi bug logis untuk memastikan keamanan keseluruhan dan keandalan aplikasi berbasis Rust mereka,โ€ katanya. โ€œUntuk mengatasi masalah logis tersebut, Rust mendorong proses pengujian dan peninjauan kode yang ketat, serta penggunaan alat analisis statis untuk mengidentifikasi dan memitigasi bug logis.โ€

Rust telah mendapatkan reputasi sebagai bahasa pemrograman yang sangat aman, karena tidak membiarkan aplikasi terbuka terhadap kelemahan parah yang dikenal sebagai kerentanan keamanan memori. Google telah mengaitkannya setetes kode yang tidak aman untuk memori terhadap peralihan ke bahasa yang aman untuk memori, seperti Rust dan Kotlin, sementara Microsoft menemukan bahwa hingga tahun 2018, ketika mereka beralih ke bahasa yang aman untuk memori, kerentanan seperti itu sering kali muncul. menyumbang 70% dari semua masalah keamanan.

Windows Menimbulkan Banyak Masalah

Masalah terbaru bukanlah kerentanan keamanan memori, namun masalah dengan logika yang digunakan untuk memproses masukan yang tidak tepercaya. Bagian dari perpustakaan standar Rust memungkinkan pengembang memanggil fungsi untuk mengirim file batch ke mesin Windows untuk diproses. Ada alasan untuk mengirimkan kode ke host sebagai file batch, kata Joel Marcey, direktur teknologi di Rust Foundation, yang mendukung pengelola bahasa pemrograman dan ekosistem Rust.

โ€œFile batch dijalankan karena berbagai alasan di sistem, dan Rust menyediakan API yang memungkinkan Anda menjalankannya dengan cukup mudah,โ€ katanya. โ€œJadi meskipun hal ini belum tentu merupakan kasus penggunaan yang paling umum untuk Rust, API, sebelum patch yang diperbaiki diterapkan, memungkinkan pelaku kejahatan untuk secara teoritis mengambil alih sistem Anda dengan menjalankan perintah sewenang-wenang, dan ini jelas merupakan kerentanan kritis.โ€

Biasanya, pengembang dapat meneruskan beban kerja ke host Windows untuk dieksekusi sebagai proses batch melalui antarmuka pemrograman aplikasi (API) Command, yang merupakan bagian dari perpustakaan standar. Biasanya, Rust menjamin keamanan setiap panggilan ke Command API, namun dalam kasus ini, Proyek Rust tidak dapat menemukan cara untuk mencegah eksekusi semua argumen, terutama karena Windows tidak mematuhi standar apa pun, dan bahwa API dapat memungkinkan penyerang mengirimkan kode yang kemudian akan dieksekusi.

โ€œSayangnya, dilaporkan bahwa logika pelolosan kami tidak cukup menyeluruh, dan ada kemungkinan untuk menyampaikan argumen jahat yang akan mengakibatkan eksekusi shell secara sewenang-wenang,โ€ menurut Rust Security Response WG.

Proyek Rust Terbukti Responsif

Meskipun menangani kerentanan apa pun bisa jadi memusingkan, Rust Project telah menunjukkan bahwa kelompok tersebut dengan cepat menyelesaikan masalah, kata para ahli. Kerentanan perpustakaan standar, CVE-2024-24576, pada akhirnya merupakan masalah pada masalah pemrosesan batch Windows dan memengaruhi bahasa pemrograman lain, jika bahasa tersebut tidak menguraikan argumen yang dikirim ke proses batch Windows secara memadai. Proyek Rust tampaknya menjadi yang pertama keluar dengan perbaikan untuk meneruskan argumen ke proses Windows CMD.exe, kata Mizrahi dari JFrog.

Grup tersebut tidak dapat sepenuhnya menghilangkan masalah ini, tetapi Command API tidak akan mengembalikan kesalahan ketika penambahan apa pun yang diteruskan ke fungsi tersebut mungkin tidak aman, kata Proyek Rust. 

Mizrahi dari JFrog mendesak Rust untuk memperluas penggunaan pengujian keamanan aplikasi statis dan memperluas penggunaan pengujian fuzzing dan dinamis.

โ€œSecara keseluruhan, Rust berada di jalur yang benar dengan menekankan keamanan memori dan mendorong praktik pengujian yang ketat,โ€ katanya. โ€œMenggabungkan upaya ini dengan kemajuan berkelanjutan dalam analisis statis dan fuzzing dapat membantu komunitas Rust dan industri perangkat lunak yang lebih luas membuat langkah signifikan dalam mengatasi bug logis dan kelemahan validasi masukan di tahun-tahun mendatang.โ€

Stempel Waktu:

Lebih dari Bacaan gelap