Rust Skiplist 1.3.0: İki Kritik Güvenlik Açığı Kapatıldı

Rust'ın skiplist veri yapısı kütüphanesi 1.3.0 sürümünde iki önemli güvenlik açığı düzeltildi. Bu açıklar, bellek güvenliğiyle ilgili sorunlar içeriyor ve Rust kodlarında beklenmedik davranışlara yol açabiliyordu.

İlk açık (GHSA-cc53-p78w-23w9), karşılaştırıcı fonksiyonun aynı mutasyon işlemi içinde tutarsız sonuçlar vermesi durumunda ortaya çıkıyordu. Örneğin, bir öğeyi eklerken veya silerken karşılaştırıcı bazen 'a < b' bazen 'b < a' döndürüyorsa, bellek güvenliği ihlali oluşabiliyordu. Bu, use-after-free (serbest bırakılan belleğe erişim) türü bir hataya neden oluyordu. Skiplist'i kullanan kod, yanlış sırada tutulan öğeleri işlemeye çalışırken çöküyor veya tanımsız davranış sergileyen bir programla karşılaşabiliyordu.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

İkinci açık (GHSA-924w-mwc9-86m8), splice (birleştirme), mutable iteration (değiştirilebilir döngü) ve cursor işlemlerinde aliasing violations (aynı belleğe birden fazla referans) yaşanmasıydı. Rust'ın temel güvenlik ilkelerinden biri, aynı anda sadece bir yazılabilir referans veya birden fazla salt okunur referans izin vermesidir. Bu açık, bu kuralı ihlal ederek veri bozulmasına veya beklenmedik davranışlara sebep olabiliyordu.

Geliştiriciler skiplist kullanan projelerini 1.3.0 veya daha yeni sürüme güncellemeli. Özellikle karşılaştırıcı mantığının karmaşık olduğu veya iterasyon sırasında koleksiyonu değiştiren kodlar bu açıklardan etkilenme riski taşıyor. Rust'ın güvenlik modeli bu tür hataları derleme zamanında yakalayamadığından, kütüphane düzeyinde bu düzeltmeler kritik önem taşıyor.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz