Ana içeriğe geç
Güvenlik

V8 motorundaki optimizasyonlar sabit zamanlı kriptografi kodunda sızıntıya yol açtı

Öne çıkanlar

  • V8 motorunun True ve False nesnelerini farklı önbellek satırlarında tutması koşul verisini açığa çıkardı.
  • Birli çıkarma operatörünün eksi sıfır üretmesi V8 üzerinde sabit zamanlı işlem garantisini bozdu.
  • constant-time-js kütüphanesi 0.5.0 sürümüyle mantıksal değerleri sayısal bit maskeleriyle değiştirdi.

British Columbia Üniversitesi araştırmacılarından Yayu Wang ve ekibi, constant-time-js adlı TypeScript ve JavaScript kütüphanesinde yan kanal sızıntısına neden olan bir güvenlik açığı tespit etti. Google tarafından geliştirilen V8 JavaScript motorunun iç işleyişinden kaynaklanan sorun, 10 Eylül 2026 tarihinde yayımlanan 0.5.0 sürümüyle giderildi ve GitHub üzerinden CVE kaydı açıldı.

Araştırmacılar, kütüphanedeki koşullu seçim işlevlerinin dallanmasız yazılmasına karşın V8 motorunda önbellek erişim izleri bıraktığını belirledi. Motorun ToBoolean mekanizması, eksi sıfır değerine yönelik özel işlemleri ve True ile False nesnelerine yönelik bellek okumalarının farklı önbellek satırlarına denk gelmesi, gizli verinin dışarı sızmasına zemin hazırladı. Yalnızca yürütülen komut izinin değil, veri adreslerinin de donanım izleme noktalarıyla incelenmesi sonucunda sızıntı doğrulandı.

Kütüphane geliştiricisi, sorunu çözmek amacıyla mantıksal değer kullanımını ve çift değilleme işlemlerini tamamen kaldırdı. Maske üretiminde eksi sıfır üreten birli çıkarma operatörü yerine pozitif sıfırdan çıkarma ve bit kaydırma yöntemlerine geçildi. Yapılan yerel testlerin ardından araştırmacılar yeni yamanın bilgi sızıntısını tamamen ortadan kaldırdığını teyit etti.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.