Rust standart kütüphanesindeki kritik bir güvenlik açığı, Windows kullanıcılarını hedef almak ve komut yerleştirme saldırıları düzenlemek için kullanılabilir.
Şu şekilde izlenen güvenlik açığı: CVE-2024-24576, maksimum ciddiyeti gösteren 10.0 CVSS puanına sahiptir. Bununla birlikte, yalnızca toplu iş dosyalarının Windows’ta güvenilmeyen argümanlarla çağrıldığı senaryoları etkiler.
Rust Güvenlik Yanıtı çalışma grubu 9 Nisan 2024’te yayınlanan bir danışma belgesinde “Rust standart kitaplığı, Windows’ta toplu dosyaları (bat ve cmd uzantılı) Komut API’sini kullanarak çağırırken argümanlardan gerektiği gibi kaçamadı” dedi.
“Oluşturulan sürece aktarılan argümanları kontrol edebilen bir saldırgan, kaçışı atlayarak keyfi kabuk komutlarını çalıştırabilir.”
Bu kusur Rust’un 1.77.2’den önceki tüm sürümlerini etkiliyor. Güvenlik araştırmacısı RyotaK hatayı keşfetme ve CERT Koordinasyon Merkezine (CERT/CC) bildirme konusunda itibar kazanmıştır.
RyotaK, BatBadBut kod adlı güvenlik açığının birçok programlama dilini etkilediğini ve “programlama dili CreateProcess işlevini sardığında ortaya çıktığını” söyledi. [in Windows] ve komut argümanları için kaçış mekanizmasını ekler.”
Ancak her programlama dilinin sorunu çözmediği gerçeğinin ışığında, geliştiricilerin Windows’ta komutları çalıştırırken dikkatli olmaları tavsiye ediliyor.
RyotaK, kullanıcılara bir tavsiyede bulunarak, “Toplu iş dosyalarının beklenmeyen şekilde yürütülmesini önlemek için, toplu iş dosyalarını PATH ortam değişkeninde yer almayan bir dizine taşımayı düşünmelisiniz.” dedi.
“Bu durumda, toplu iş dosyaları tam yol belirtilmediği sürece yürütülmeyecektir, böylece toplu iş dosyalarının beklenmedik şekilde yürütülmesi engellenebilir.”