Google’ın en son Google Chromium güvenlik açığı için bir güvenlik düzeltme eki yayınlamasından günler sonra, CISA, açıktan yararlanıldığına dair kanıt elde ettikleri için, yüksek önem dereceli açığı Bilinen Yararlanılan Güvenlik Açıkları Kataloğu’na ekledi.
Chrome V8 Type Confusion güvenlik açığı CVE-2023-3079, 114.0.5735.110’dan önceki tüm sürümleri etkiler ve Microsoft Windows, Apple macOS ve Linux’ta mevcuttur. Yüksek öneme sahip Google Chromium güvenlik açığına henüz bir NVD puanı atanmadı.
Bu tür güvenlik açıkları, kötü niyetli siber aktörler için sık sık saldırı vektörleri oluşturuyor ve federal kuruluş için önemli riskler oluşturuyor” dedi.
ABD Ulusal Güvenlik Açığı Veritabanı açıklaması, “114.0.5735.110’dan önceki Google Chrome’daki V8’deki tür karışıklığı, uzaktaki bir saldırganın hazırlanmış bir HTML sayfası aracılığıyla yığın bozulmasından potansiyel olarak yararlanmasına izin verdi” dedi.
Yığın bozulması, bir program istemeden “yığın” adı verilen bellek yönetim sistemine zarar verdiğinde ortaya çıkan bir sorundur. Yığın, programın verileri depolaması ve işlemesi için ihtiyaç duyduğu bellek bloklarını tahsis etmekten ve serbest bırakmaktan sorumludur.
Google Chromium güvenlik açığı ve tür karışıklığı
Tür karışıklığı, ciddi sonuçları olabilecek bir programlama sorunudur. Geliştiriciler program yazarken, genellikle farklı veri türlerini depolamak için değişkenler bildirirler. Örneğin, sayılar için değişkenlere veya bellek adreslerini depolamak için değişkenlere sahip olabilirler.
C gibi bazı programlama dillerinde, her değişken için doğru türü kullanmak çok önemlidir. Türleri karıştırmak sorunlara yol açabilir. Örneğin, kullanımı güvenli olan bir numara, hafıza adresi olarak tamamen uygun olmayabilir.
Tip karışıklığını anlamak için, bir C programı üzerinde çalışan bir programcı düşünelim. İki değişken bildirdiler: biri bir sayıyı saklamak için, diğeri bir hafıza adresini saklamak için. Programcının, sayı değişkenine yanlışlıkla bir bellek adresi atamamaya veya tam tersini yapmamaya dikkat etmesi gerekir.
Programda, bellek adresleri “0x00370000” gibi onaltılık sayılarla temsil edilir. Bu adresler oldukça büyük olabilir. Öte yandan, “23157” gibi geçerli bir gün sayısı, kıyaslandığında çok daha küçüktür.
Programı daha esnek hale getirmek için programcı “birleşim” adı verilen bir özellik kullanmaya karar verir. Birleşim, aynı bellek bloğunun farklı şekillerde yorumlanmasına izin verir. Bu, belirli kullanıma bağlı olarak verilere bir sayı veya bir bellek adresi olarak erişebilecekleri anlamına gelir.
Bununla birlikte, bir birliği kullanmak yeni bir zorluk getirir. Programcının, verilerin herhangi bir anda nasıl yorumlanması gerektiğini takip etmesi gerekir. Bunu yapmak için, birlikte depolanan veri türünü gösteren bir “etiket” değişkeni kullanabilirler. Örneğin, etiketi bir tarih için 1’e ve bir hafıza adresi için 2’ye ayarlayabilirler. Bu, karışıklığın önlenmesine yardımcı olur ve verilerin doğru şekilde kullanılmasını sağlar.
Bununla birlikte, harici bir varlık, etiket değişkenini beklenmedik bir şekilde değiştirme yeteneği kazanırsa, ciddi sorunlara yol açabilir.
Örneğin, programcının doğrulanmamış işlev adreslerinin güvenilir adresler olarak ele alınmasına izin verdiğini varsayalım. Birisi, program verileri kullanmadan hemen önce etiketi 1’den 2’ye kötü niyetli bir şekilde değiştirirse, amaçlanmayan bir kodu çalıştırabilir ve muhtemelen güvenlik açıklarına yol açabilir.
Google Chromium güvenlik açığı: Özetle
Google, Windows, macOS ve Linux için Google Chrome web tarayıcısını etkileyen bu Google Chromium güvenlik açığını gidermek için 5 Haziran’da bir güvenlik güncellemesi yayınladı.
Ancak, güvenlik açığı zaten vahşi ortamda kullanılıyor. Güvenlik açığı, V8 JavaScript motorundaki bir tür karışıklığından kaynaklanır ve kötü niyetli bir saldırgan tarafından özel hazırlanmış bir HTML sayfası kullanarak yığın bozulmasına neden olmak ve potansiyel olarak rasgele kod yürütmek için kullanılabilir.
114.0.5735.110’dan önceki Google Chrome sürümlerini etkileyen CVE-2023-3079 güvenlik açığı, olası açıklardan yararlanmalara karşı koruma sağlamak ve etkilenen platformları kullanan sistemlerin güvenliğini sağlamak için güvenlik güncellemelerinin derhal uygulanmasının önemini vurgulamaktadır.