Sentinel Değeri Sızdırma ve Chrome V8 HardenProtect Aşma
Chrome kaynak kodunda birçok Sentinel değeri bulunmaktadır. Bu özel değerler genellikle algoritmalarda döngü veya özyineleme sonlandırma koşulu olarak kullanılır. Son zamanlarda yapılan araştırmalar, bazı Sentinel değerlerinin sızmasının Chrome kumanda alanında rastgele kod yürütülmesine yol açabileceğini göstermiştir.
Bilinen TheHole nesnesinin yanı sıra, V8'de JavaScript ortamına sızdırılmaması gereken diğer yerel nesneler de bulunmaktadır. Bu makalede, şu anda V8'in en son sürümünde hala uygulanabilir olan Uninitialized Oddball nesnesiyle ilgili bir geçiş yöntemi üzerinde durulmaktadır ve henüz düzeltilmemiştir.
Dikkat çekici olan, bu yöntemin geniş bir uygulanabilirliğe sahip olmasıdır. Bildirilen birçok güvenlik açığında, Başlatılmamış Oddball'ın sızdırılması, uzaktan kod yürütmeye yol açabilir. Bu, PatchGap'tan etkilenebilecek yazılımların kapsamlı bir şekilde gözden geçirilmesi gereğini vurgulamaktadır.
V8'deki çoğu yerel nesne, v8/src/roots/roots.h dosyasında tanımlanmıştır ve bellekte bitişik olarak sıralanmıştır. Bu nesneler JavaScript'e yanlış bir şekilde açıldığında, sandık içinde rastgele kod yürütme gerçekleştirilebilir.
Bu yöntemi doğrulamak için, V8'in yerel fonksiyonlarını değiştirerek Uninitialized Oddball nesnesini döndürmesini sağlayabiliriz. Bu şekilde, V8'in en son sürümünde neredeyse herhangi bir bellek okumasını gerçekleştirebiliriz.
Bu geçiş yönteminin özü, optimize edilmiş JavaScript fonksiyonunun dizi elemanlarına erişirken dizinin tür bilgilerini yeterince kontrol etmemesi ve bunun yerine doğrudan kaydırmayı hesaplayarak değeri almasıdır. Bu, tür karışıklığına yol açarak rastgele okuma sağladı.
Önerilen çözüm, optimize edilmiş fonksiyonun dizi elemanlarını döndürürken dizi haritasının kontrolünü artırmak ve dizinin değerlerini doğrudan ofset hesaplaması ile döndürmekten kaçınmaktır.
Ayrıca, yazılım tedarik zincirinde mevcut olabilecek PatchGap sorunlarına da dikkat etmemiz gerekiyor. Yaygın olarak kullanılan bazı yazılımlar bu tür açıkları henüz kapatmamış olabilir, bu da saldırganlar için olası bir kırılma noktası sağlar.
Genel olarak, V8'de çeşitli Sentinel değerleri bulunmaktadır ve bunların sızdırılması güvenlik sorunlarına yol açabilir. Gelecekteki araştırma yönleri şunları içerebilir: diğer Uninitialized Oddball sızıntılarının etkilerini keşfetmek, Sentinel değerini bir değişken olarak bulanık testlere dahil etmenin uygulanabilirliğini değerlendirmek ve ilgili güvenlik sorunlarını daha kapsamlı bir şekilde gözden geçirmek. Bu tür sorunlar resmi olarak güvenlik açığı olarak tanımlansın ya da tanımlanmasın, saldırganların tam istismar gerçekleştirme süresini önemli ölçüde kısaltabilir.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 Likes
Reward
9
5
Repost
Share
Comment
0/400
LiquidatedDreams
· 10h ago
Bir başka delik... Bozuk Chrome neden düzeltilmiyor?
View OriginalReply0
GasWaster
· 10h ago
Kutuda bu kadar çok açık var, palyaço oldu fam
View OriginalReply0
GasOptimizer
· 10h ago
Kendi kendine tekrarlayan açıklar, güvenlik kazalarının %89,4'ünü oluşturmaktadır.
View OriginalReply0
FallingLeaf
· 10h ago
Bu kadar büyük bir açık var, tarayıcı da güvende değil.
Chrome V8 motoru Sentinel Değeri sızıntısı, kum havuzu kaçış riski oluşturuyor.
Sentinel Değeri Sızdırma ve Chrome V8 HardenProtect Aşma
Chrome kaynak kodunda birçok Sentinel değeri bulunmaktadır. Bu özel değerler genellikle algoritmalarda döngü veya özyineleme sonlandırma koşulu olarak kullanılır. Son zamanlarda yapılan araştırmalar, bazı Sentinel değerlerinin sızmasının Chrome kumanda alanında rastgele kod yürütülmesine yol açabileceğini göstermiştir.
Bilinen TheHole nesnesinin yanı sıra, V8'de JavaScript ortamına sızdırılmaması gereken diğer yerel nesneler de bulunmaktadır. Bu makalede, şu anda V8'in en son sürümünde hala uygulanabilir olan Uninitialized Oddball nesnesiyle ilgili bir geçiş yöntemi üzerinde durulmaktadır ve henüz düzeltilmemiştir.
Dikkat çekici olan, bu yöntemin geniş bir uygulanabilirliğe sahip olmasıdır. Bildirilen birçok güvenlik açığında, Başlatılmamış Oddball'ın sızdırılması, uzaktan kod yürütmeye yol açabilir. Bu, PatchGap'tan etkilenebilecek yazılımların kapsamlı bir şekilde gözden geçirilmesi gereğini vurgulamaktadır.
V8'deki çoğu yerel nesne, v8/src/roots/roots.h dosyasında tanımlanmıştır ve bellekte bitişik olarak sıralanmıştır. Bu nesneler JavaScript'e yanlış bir şekilde açıldığında, sandık içinde rastgele kod yürütme gerçekleştirilebilir.
Bu yöntemi doğrulamak için, V8'in yerel fonksiyonlarını değiştirerek Uninitialized Oddball nesnesini döndürmesini sağlayabiliriz. Bu şekilde, V8'in en son sürümünde neredeyse herhangi bir bellek okumasını gerçekleştirebiliriz.
Bu geçiş yönteminin özü, optimize edilmiş JavaScript fonksiyonunun dizi elemanlarına erişirken dizinin tür bilgilerini yeterince kontrol etmemesi ve bunun yerine doğrudan kaydırmayı hesaplayarak değeri almasıdır. Bu, tür karışıklığına yol açarak rastgele okuma sağladı.
Önerilen çözüm, optimize edilmiş fonksiyonun dizi elemanlarını döndürürken dizi haritasının kontrolünü artırmak ve dizinin değerlerini doğrudan ofset hesaplaması ile döndürmekten kaçınmaktır.
Ayrıca, yazılım tedarik zincirinde mevcut olabilecek PatchGap sorunlarına da dikkat etmemiz gerekiyor. Yaygın olarak kullanılan bazı yazılımlar bu tür açıkları henüz kapatmamış olabilir, bu da saldırganlar için olası bir kırılma noktası sağlar.
Genel olarak, V8'de çeşitli Sentinel değerleri bulunmaktadır ve bunların sızdırılması güvenlik sorunlarına yol açabilir. Gelecekteki araştırma yönleri şunları içerebilir: diğer Uninitialized Oddball sızıntılarının etkilerini keşfetmek, Sentinel değerini bir değişken olarak bulanık testlere dahil etmenin uygulanabilirliğini değerlendirmek ve ilgili güvenlik sorunlarını daha kapsamlı bir şekilde gözden geçirmek. Bu tür sorunlar resmi olarak güvenlik açığı olarak tanımlansın ya da tanımlanmasın, saldırganların tam istismar gerçekleştirme süresini önemli ölçüde kısaltabilir.