Dokümanlar

Sorun rehberi · Güvenlik

Bir JavaScript kütüphanesinde bilinen güvenlik açıkları var

ÖnemYüksek
KategoriGüvenlik
KapsamTüm site
EmekOrta
DoğrulamaGüvenlik taraması (haftalık ya da Yeniden tara)
Kural anahtarısec_js_vulnerable

Kısa cevap

Sitenizin yüklediği bir betik, retire.js veritabanında bilinen güvenlik açıklarıyla listelenen bir kütüphane sürümü. Sorun kütüphaneyi, bulunan sürümü, CVE'leri ve bunları düzelten sürümü gösterir. Kütüphaneyi en az o sürüme güncelleyin; bir tema ya da eklenti onu içinde getiriyorsa o temayı ya da eklentiyi güncelleyin.

Neden önemli

Eski kütüphane sürümleri belgelenmiş açıklar taşır; örneğin 3.5.0 öncesi jQuery'de ya da 3.4.1 ve 4.3.1 öncesi Bootstrap'te siteler arası betik çalıştırma (XSS), eski lodash'ta prototip kirletme. Belirli bir açığın sitenizde istismar edilip edilemeyeceği, kodunuzun güvenilmeyen girdiyi etkilenen işleve verip vermediğine bağlıdır; yani her bulgu açık bir kapı değildir. Ama sürüm herkese görünür, güvenlik anketleri ve ödeme kartı taramaları bunu işaretler ve alan adınızdaki bir XSS oturumları çalabilir ya da sayfaları değiştirebilir.

Glimana bunu nasıl tespit eder

Glimana ana sayfanızdaki ve iki örnek sayfadaki betik adreslerini, ayrıca sitenizi tararken bilinen en çok 400 .js dosyasını toplar. Kütüphaneyi ve sürümü adresten ya da dosya adından (örneğin jquery-1.12.4.min.js), tanınmayan en çok altı betik için ilk 4 KB'taki lisans başlığından tanır; WordPress'in ?ver= değeri yalnız dosya adı kütüphane adıyla birebir aynıysa kullanılır. Sürümler haftada bir yenilenen retire.js açık deposuyla (Apache-2.0) karşılaştırılır. Önem, bulunan en ciddi açığın önemidir; kritik olanlar yüksek olarak bildirilir. Başlıksız biçimde kendi dosyalarınıza gömülmüş kod tespit edilmez. Veri yüklenmeden kontrol Henüz çalışmıyor görünür.

Nasıl düzeltilir

Dikkat

Ana sürüm atlamaları eski kodu bozabilir; jQuery 3, eski eklentilerin kullandığı birkaç API'yi kaldırdı. Güncellemeden sonra kütüphaneyi kullanan sayfaları deneyin. WordPress'te /wp-includes/ altındaki jQuery çekirdekle birlikte güncellenir; eski kopya genellikle çekirdek jQuery'yi devre dışı bırakıp kendi kopyasını yükleyen bir temadan gelir. Bir CDN'den integrity özetiyle yüklüyorsanız özeti sürümle birlikte değiştirin ve eski dosyanın sunulmasının durması için önbelleğinizi boşaltın.

  1. Glimana'da bulguyu bulun. Güvenlik sayfasını açın; bu kontrol Güncel olmayan yazılım grubunda, son taramanın kanıtı başlığının altında. Aynı sorun Sorunlar › Bir JavaScript kütüphanesinde bilinen güvenlik açıkları var altında da listelenir.
  2. Düzeltmeyi platformunuzda uygulayın.

    Kanıttaki adres dosyayı kimin getirdiğini söyler: /wp-content/plugins/<slug>/… bir eklenti, /wp-content/themes/<slug>/… bir temadır. O eklentiyi ya da temayı güncelleyin. Tema wp_deregister_script( 'jquery' ) çağırıp eski bir jQuery'yi kendisi yüklüyorsa, WordPress'in güncel jQuery'sinin kullanılması için bu kodu (bir alt temada) kaldırın ya da tema yazarından düzeltme isteyin.

    Sürümün nereden geldiğini npm ls jquery ile bulun (kütüphane adıyla değiştirin), npm install jquery@^3.7.1 ile ya da onu getiren bağımlılığı güncelleyerek yükseltin, npm audit çalıştırın, paketi yeniden derleyip yayınlayın.

    <script src> adresindeki sürümü düzeltilmiş sürüm ya da daha yenisiyle değiştirin ve integrity değerini tam o dosya için yayımlanan özetle değiştirin. Ardından sitenizin önbelleğini boşaltın.

  3. Glimana'da kontrol edin. Güvenlik sayfasında Yeniden tara düğmesine basın (saatte en çok iki tarama) ya da pazar günkü haftalık taramayı bekleyin; kontrol geçince sorun kapanır.

Düzeltme nasıl doğrulanır

Düzeltmeden sonra Güvenlik sayfasında Yeniden tara düğmesine basın (ya da pazar 04:00'teki haftalık taramayı bekleyin); kontrol geçtiğinde sorun kapanır.

Kaynaklar

Bu sayfa işinize yaradı mı?

Son güncelleme 2026-11-07 · Destekle iletişim