NPM 6.13.4'te düzeltilen üç güvenlik açığı bulundu

Geliştiriciler proje sorumlusu kimler NPM paket yöneticisinden yayınlandı yakın zamanda yayınlandı UÖM 6.13.4 için düzeltici güncelleme Node.js teslimatına dahildir ve JavaScript modüllerini dağıtmak için kullanılır.

Yöneticinin bu yeni düzeltici versiyonu üç güvenlik açığını çözmek için başlatıldı bir saldırgan tarafından hazırlanan bir paket yüklenirken rastgele sistem dosyalarının değiştirilmesine veya üzerine yazılmasına izin veren.

CVE-2019-16775

Bu güvenlik açığı 6.13.3'ten önceki NPM CLI sürümlerini etkiler, peki sen keyfi dosya yazmaya karşı savunmasızdırlar. Paketler, klasörün dışındaki dosyalara sembolik bağlantılar oluşturabilir düğüm_modülleri kurulumdan sonra çöp kutusu sahasından.

Bin package.json alanında doğru oluşturulmuş bir giriş bir paket düzenleyicinin rastgele dosyalara işaret eden sembolik bir bağlantı oluşturmasına izin verir paket yüklendiğinde kullanıcının sisteminde. Bu davranış, yükleme betikleri aracılığıyla hala mümkündür.

CVE-2019-16776

Bu güvenlik açığında 6.13.3'ten önceki NPM CLI sürümleri rastgele dosya yazımından etkilenir. Bin alanı aracılığıyla amaçlanan node_modules klasörü dışındaki klasörlere erişimi engelleyemediğiniz için.

Bin package.json alanında uygun şekilde oluşturulmuş bir giriş, bir paket düzenleyicinin paket yüklendiğinde bir kullanıcının sistemindeki rasgele dosyaları değiştirmesine ve bunlara erişmesine izin verir. Bu davranış, yükleme betikleri aracılığıyla hala mümkündür.

Depo alanında "/../" olan yollara izin verildi

CVE-2019-16777

Son olarak, 6.13.4'ten önceki NPM CLI sürümleri bu güvenlik açığından etkilenir rastgele bir dosya üzerine yazma. Diğer ikili dosyaların mevcut global olarak kurulu ikili dosyaların üzerine yazmasını engelleyemezsiniz.

Örnek bir paket global olarak kurulmuşsa ve bir hizmet ikili dosyası oluşturmuşsa, sonraki kurulumlar hizmet ikili dosyası da oluşturan paketler eski hizmet ikili dosyasının üzerine yazacak. Bu davranışa yerel kurulumlarda ve ayrıca kurulum betikleri aracılığıyla hala izin verilir.

Yalnızca yürütülebilir dosyaların kurulu olduğu hedef dizindeki dosyaları değiştirebilirsiniz (genellikle / usr, / local, / bin).

Bu güvenlik açıkları için önemli bir faktör, bu kusurlardan yararlanmak isteyen kişinin, kurbanına paketi özel olarak tasarlanmış depo girişi ile yüklemesini sağlamak zorunda kalmasıdır. Ancak geçmişte gördüğümüz gibi bu aşılmaz bir engel değildir.

Npm, Inc.'deki güvenlik ekibi, bu saldırının örnekleri için kayıt defterini tarıyor ve kayıt defterinde bu açıktan yararlanma ile yayınlanmış herhangi bir paket bulamadı. Bu, kullanılmadığını garanti etmez, ancak şu anda kayıt defterinde yayınlanan paketlerde kullanılmadığı anlamına gelir.

Gelecekte kötü oyuncuların bu güvenlik açığından yararlanmasını önlemek için izlemeye ve önlem almaya devam edeceğiz. Ancak, npm paketlerinin tüm olası kaynaklarını (özel kayıtlar, aynalar, git depoları, vb.) Tarayamıyoruz, bu nedenle mümkün olan en kısa sürede güncellememiz önemlidir.

Sorun giderme

Ana çözüm olarak, NPM v6.13.3'te kullanımda olan package.json ayrıştırma kitaplıkları, eğik çizgi baş harflerini kaldırmak için bölme alanındaki tüm girişleri temizleyecek ve doğrulayacak bir şekilde güncellendiğinden, yeni düzeltme sürümüne güncellemeniz önerilir. , rota girişleri ve diğer rota kaçış yolları, Node.js'de yerleşik olarak iyi test edilmiş ve son derece güvenilir rota yardımcı programını kullanarak.

Rağmen, geçici bir çözüm olarak, seçenekle kurulabilir - Komut dosyalarını yoksay, yerleşik sürücü paketlerinin çalıştırılmasını yasaklayan.

Daha fazla uzatmadan, hatalar hakkında daha fazla bilgi edinmek istiyorsanız, npm blog gönderisindeki ayrıntıları kontrol edebilirsiniz. Aşağıdaki bağlantıda.

Son olarak, yeni sürümü kurmak isteyenler, bunu resmi kanallardan veya kaynak kodundan derlemeyi seçerek yapabilirler. Bunun için aşağıdaki talimatları takip edebilirsiniz: aşağıdaki bağlantı.

 


Makalenin içeriği şu ilkelerimize uygundur editoryal etik. Bir hata bildirmek için tıklayın burada.

İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak.

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.