Phylum, npm, GitHub ve CDN’leri hedef alan büyük ölçekli trojanlı jQuery saldırılarını ortaya çıkarıyor. Kötü niyetli aktörler, değiştirilmiş bir jQuery kütüphanesi aracılığıyla kullanıcı formu verilerini çalıyor. Web sitenizi güvende tutmayı ve korumayı öğrenin.
Yazılım tedarik zinciri güvenlik firması Phylum’daki araştırmacılar, popüler JavaScript kütüphanesi jQuery kullanan geliştiricileri hedef alan kalıcı bir tedarik zinciri saldırısı ortaya çıkardı. Araştırmacılara göre saldırganlar, birden fazla npm hesabı altında düzinelerce pakette jQuery’nin truva atı haline getirilmiş sürümlerini yayınladı.
Phylum, 26 Mayıs 2024’ten beri bu ‘kalıcı saldırganı’ izliyor. Kötü amaçlı jQuery varyantı ilk olarak npm’de ve daha sonra GitHub’da ve jsDelivr’deki bir CDN barındırılan kaynakta keşfedildi.
Bu saldırı, alışılmadık doğası nedeniyle öne çıkıyor. Otomatik betiklerle yapılan tipik tedarik zinciri saldırılarının aksine, saldırganlar burada meşru jQuery kodunu hafif ama kritik bir değişiklikle içeren bireysel paketleri dikkatlice hazırladılar. Paketler arasındaki yüksek değişkenliği ve daha uzun zaman dilimi, her paketin manuel olarak bir araya getirilmesini ve yayınlanmasını öneriyor.
Saldırgan, kötü amaçlı yazılımı jQuery’nin animasyon yardımcı programlarından fadeTo işlevi tarafından dahili olarak çağrılan daha az kullanılan ‘end’ işlevinde akıllıca gizledi. Kötü amaçlı bükülme, jQuery kitaplığındaki end işlevinin değiştirilmesinde yatmaktadır.
Genellikle bir işlem zincirindeki önceki durumu döndürmek için kullanılan bu işlev, kullanıcı form verilerini uzak bir sunucuya göndermek için değiştirildi. Bu, son işlev her çağrıldığında, sayfadaki tüm form verilerinin, potansiyel olarak oturum açma kimlik bilgileri, arama sorguları veya diğer hassas bilgiler dahil, saldırgana sızdırıldığı anlamına gelir.
Araştırmacılar blog yazısında, “Sızdırma URL’leri her paket için neredeyse benzersizdi ve saldırgan, npm’de yeni kullanıcı adları altında yayın yaptı” açıklamasını yaptı.
Kötü amaçlı yazılım, bir kullanıcı kötü amaçlı bir paket yüklediğinde, truva atı eklenmiş bir jQuery dosyası kullandığında ve end işlevini veya fadeTo işlevini çağırdığında tetiklenir. End işlevi doğrudan yaygın olarak kullanılmasa da, jQuery’de yaygın olarak kullanılan bir özellik olan fadeTo animasyon yöntemi içindeki rolü düşünüldüğünde endişe verici hale gelir. Bu, truva atı eklenmiş kitaplıkla fadeTo animasyonunu kullanan herhangi bir web sitesinin farkında olmadan kullanıcı verilerini sızdırabileceği anlamına gelir.
Phylum araştırmacıları, GitHub’da “indexsc” adlı bir kullanıcı tarafından barındırılan trojanlanmış jQuery’nin birkaç versiyonunu keşfetti ve hatta Ionicons kütüphanesinin versiyonunu manipüle etmeye çalışan bir betiğe gömüldüğünü buldu. Bu betik yalnızca savunmasız bir Ionicons versiyonunu enjekte etmekle kalmıyor, aynı zamanda başka bir trojanlanmış jQuery dosyasını da yüklüyor.
Güvende kalmak için, temiz ve değiştirilmemiş kütüphaneleri sağlamak için jQuery’ye dayanan npm paketlerini hemen güncelleyin. GitHub veya diğer platformlarda barındırılan üçüncü taraf kodlarını denetleyin, projenize entegre etmeden önce işlevselliklerini ve kökenlerini inceleyin.
İLGİLİ KONULAR
- Luna Grabber Kötü Amaçlı Yazılımı, npm Paketleri Aracılığıyla Roblox Geliştiricilerine Bulaşıyor
- Protestware, Gazze ve Ukrayna’da Barış Çağrısı Yapmak İçin npm Paketlerini Kullanıyor
- CISA, JavaScript kütüphanesinin NPM paketinin truva atı haline getirilmiş sürümleri konusunda uyarıyor
- NPM Typosquatting Saldırısı, Meşru Paket Aracılığıyla r77 Rootkit’ini Dağıtıyor
- VMCONNECT: Yaygın Python Araçlarını Taklit Eden Kötü Amaçlı PyPI Paketi