Valve’ın, Counter-Strike 2’de, oyunlara görseller enjekte etmek ve diğer oyuncuların IP adreslerini almak için günümüzde yoğun şekilde suiistimal edilen bir HTML enjeksiyon hatasını düzelttiği bildirildi.
Başlangıçta JavaScript kodunun bir istemcide çalıştırılmasına izin veren daha ciddi bir Siteler Arası Komut Dosyası (XSS) hatası olduğu düşünülse de, hatanın yalnızca görüntülerin enjeksiyonuna izin veren bir HTML enjeksiyon hatası olduğu belirlendi.
Counter-Strike 2, tasarım düzeni için CSS, HTML ve JavaScript’i yoğun olarak içeren bir kullanıcı arayüzü olan Valve’ın Panorama Kullanıcı Arayüzünü kullanıyor.
Tasarım düzeninin bir parçası olarak geliştiriciler, giriş alanlarını normal bir dizeye dönüştürmek yerine HTML’yi kabul edecek şekilde yapılandırabilirler. Alan HTML’yi etkinleştirmişse, girilen herhangi bir metin çıktıda HTML olarak oluşturulur.
Bugün Counter-Strike kullanıcıları, kullanıcıların oylama paneline resim enjekte etmek için HTML enjeksiyon kusurunu kötüye kullandıklarını bildirmeye başladı.
Bu kusur çoğunlukla zararsız eğlence amacıyla kötüye kullanılırken, diğerleri bunu maçtaki diğer oyuncuların IP adreslerini elde etmek için kullandı.
Bu, kullanılarak yapıldı Oylamayı gören her oyuncunun IP adresinin günlüğe kaydedilmesine neden olan uzak bir IP günlükçü komut dosyasını açmak için etiket.
Bu IP adresleri, oyuncuları maçtan ayrılmaya zorlamak için DDoS saldırıları başlatmak gibi kötü amaçlarla kullanılabilir.
Bu öğleden sonra Valve, bildirilen güvenlik açığını gideren ve girilen HTML’nin normal bir dizeye göre temizlenmesine neden olan 7 MB’lık küçük bir güncelleme yayınladı.
Örneğin, yama yüklendikten sonra, enjekte edilen HTML’nin kullanıcı arayüzü tarafından işlenmesi yerine, aşağıda gösterildiği gibi yalnızca bir dize olarak görüntülenecektir.
BleepingComputer, bu güncellemenin istismarı düzeltip düzeltmediğini doğrulamak için Valve ile temasa geçti ancak bir yanıt almadı.
2019’da Counter-Strike: Global Offensive’in Panorama kullanıcı arayüzünde, HTML’nin tekme özelliği aracılığıyla enjekte edilmesine izin veren benzer ancak daha ciddi bir hata bulundu.
Ancak bu özel durumda, JavaScript’i başlatmak için de kullanılabilir, bu da komutların uzaktan yürütülmesi için kullanılabilecek çok daha kritik bir XSS güvenlik açığı olmasına neden olabilir.