CVE-2021-39134

Yüksek

Açıklama

npm komut satırı arayüzü için bağımlılık ağaçlarını hesaplayan ve `node_modules` klasör hiyerarşisini yöneten kütüphane olan `@npmcli/arborist`, paket bağımlılık sözleşmelerinin karşılanmasını ve paket içeriklerinin çıkarılmasının her zaman beklenen klasöre yapılmasını garanti etmeyi amaçlar. Bu durum, kısmen `package.json` manifestolarında belirli bir isme sahip bağımlılıklar için tanımlanan bağımlılık belirleyicilerinin çözümlenmesi ve çakışan bağımlılıkları gidermek için klasörlerin iç içe yerleştirilmesiyle sağlanır. Birden fazla bağımlılık yalnızca isimlerinin büyük/küçük harf kullanımı açısından farklılık gösterdiğinde, Arborist'in dahili veri yapısı bunları `node_modules` hiyerarşisinin aynı seviyesinde bir arada bulunabilen ayrı öğeler olarak görüyordu. Ancak, büyük/küçük harfe duyarsız dosya sistemlerinde (macOS ve Windows gibi) durum böyle değildir. `file:/some/path` gibi bir sembolik bağlantı (symlink) bağımlılığı ile birleştiğinde bu durum, bir saldırganın dosya sistemindeki herhangi bir konuma rastgele içeriklerin yazılabileceği bir senaryo oluşturmasına izin vermekteydi. Örneğin, `pwn-a` adlı bir paket, `package.json` dosyasında `"foo": "file:/some/path"` şeklinde bir bağımlılık tanımlayabilirdi. Başka bir paket olan `pwn-b` ise `FOO: "file:foo.tgz"` şeklinde bir bağımlılık tanımlayabilirdi. Büyük/küçük harfe duyarsız dosya sistemlerinde, önce `pwn-a` kurulup ardından `pwn-b` kurulursa, `foo.tgz` içeriği `/some/path` konumuna yazılır ve `/some/path` konumundaki mevcut tüm içerikler silinirdi. Büyük/küçük harfe duyarsız bir dosya sisteminde npm v7.20.6 veya daha eski sürümleri kullanan herkes potansiyel olarak etkilenmektedir. Bu sorun, npm v7.20.7 ve üzeri sürümlerde yer alan @npmcli/arborist 2.8.2 sürümünde düzeltilmiştir.

ÖnemYüksek
CVSS8.2
İstismar olasılığı—
ÜrünNpmjs Arborist
Yayın31 Ağu 2021
İlk görülme31 Ağu 2021
Zayıflık türüCWE-61CWE-61

Nasıl düzeltilir

Güncelleyin
  • npmjs arborist2.8.2 ya da sonraki bir sürüm
  • siemens sinec_infrastructure_network_services1.0.1.1 ya da sonraki bir sürüm
  • @npmcli/arborist2.8.2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
npmjs arboristv < 2.8.22.8.2
oracle graalvm20.3.3, 21.2.0—
siemens sinec_infrastructure_network_servicesv < 1.0.1.11.0.1.1
@npmcli/arboristnpmv < 2.8.22.8.2

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2021-39134 · Npmjs Arborist · Dark Radar