CVE-2021-37712
Açıklama
4.4.18, 5.0.10 ve 6.1.9 versiyonlarından önceki "tar" (diğer adıyla node-tar) npm paketi, rastgele dosya oluşturma/üzerine yazma ve rastgele kod çalıştırma zafiyetine sahiptir. node-tar, konumu sembolik bir bağlantı tarafından değiştirilecek herhangi bir dosyanın çıkarılmamasını garanti etmeyi amaçlar. Bu durum, kısmen çıkartılan dizinlerin sembolik bağlantı olmadığının doğrulanmasıyla sağlanır. Ek olarak, belirli bir yolun dizin olup olmadığını belirlemek için gereksiz stat çağrılarını önlemek amacıyla, dizinler oluşturulduğunda yollar önbelleğe alınır. Bu mantık, hem bir dizin hem de aynı değere normalize edilen unicode değerleri içeren isimlere sahip bir sembolik bağlantı barındıran tar dosyaları çıkartılırken yetersiz kalmıştır. Ayrıca, Windows sistemlerde uzun yol bölümleri, 8.3 "kısa yol" karşılıklarıyla aynı dosya sistemi varlıklarına çözümlenmektedir. Özel olarak hazırlanmış bir tar arşivi; yolun bir biçimine sahip bir dizini, ardından aynı dosya sistemi varlığına çözümlenen farklı bir dizeye sahip sembolik bir bağlantıyı ve sonrasında ilk biçimi kullanan bir dosyayı içerebilir. Önce bir dizin oluşturup ardından bu dizini, dosya sistemindeki aynı girdiye çözümlenen ancak görünürde farklı bir isme sahip olan bir sembolik bağlantıyla değiştirerek, node-tar'ın dizinlerdeki sembolik bağlantı kontrollerini atlatmak mümkün olmuştur; bu da temel olarak güvenilmeyen bir tar dosyasının rastgele bir konuma sembolik bağlantı vermesine ve ardından o konuma rastgele dosyalar çıkarmasına izin vererek rastgele dosya oluşturulmasına ve üzerine yazılmasına imkan tanımıştır. Bu sorunlar 4.4.18, 5.0.10 ve 6.1.9 sürümlerinde giderilmiştir. node-tar'ın v3 dalı kullanımdan kaldırılmıştır ve bu sorunlar için yamalar almamıştır. Hala bir v3 sürümü kullanıyorsanız, node-tar'ın daha güncel bir versiyonuna yükseltmeniz önerilir. Bunun mümkün olmadığı durumlarda, referans verilen GHSA-qq89-hq3f-393p adresinde bir geçici çözüm mevcuttur.
Nasıl düzeltilir
- siemens sinec_infrastructure_network_services1.0.1.1 ya da sonraki bir sürüm
- tar4.4.18, 5.0.10, 6.1.9 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| npmjs tar | v ≤ 4.4.17, 5.0.0 ≤ v ≤ 5.0.9, 6.0.0 ≤ v ≤ 6.1.8 | — |
| debian debian_linux | 10.0, 11.0 | — |
| oracle graalvm | 20.3.3, 21.2.0 | — |
| siemens sinec_infrastructure_network_services | v < 1.0.1.1 | 1.0.1.1 |
| tarnpm | 3.0.0 ≤ v < 4.4.18, 5.0.0 ≤ v < 5.0.10, 6.0.0 ≤ v < 6.1.9 | 4.4.18, 5.0.10, 6.1.9 |
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.
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.