CVE-2026-49982
Açıklama
tmp, node.js için geçici dosya ve dizin oluşturucudur. 0.2.6 sürümünde, tmp'ye eklenen _assertPath koruması yalnızca ... alt dizesini içeren dize değerlerini reddeder. prefix, postfix veya template parametreleri; includes('..') metodu false döndüren ancak dizeye dönüştürüldüğünde hala ../ içeren bir dize dışı değer (Array, Buffer veya herhangi bir nesne) olarak sağlandığında bu koruma atlatılır. Değer, _generateTmpName içindeki Array.prototype.join/String zorlamasından ve path.join(tmpDir, opts.dir, name) işleminden geçer; böylece tmpdir dışına çıkan ve ana sürecin ayrıcalıklarıyla saldırgan tarafından kontrol edilen bir konumda dosya veya dizin oluşturan nihai bir yol üretilir. Bu durum, güvenilmeyen istek verilerini (yaygın bir desen olan JSON gövde alanları veya ?prefix[]=... gibi qs-ayrıştırılmış köşeli parantezli dizi sorgu dizeleri) açıkça tür zorlaması yapmadan tmp.file, tmp.fileSync, tmp.dir, tmp.dirSync, tmp.tmpName veya tmp.tmpNameSync fonksiyonlarına ileten tüm uygulamaları etkiler. Bu güvenlik açığı 0.2.7 sürümünde giderilmiştir.
Nasıl düzeltilir
- tmp0.2.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| raszi tmp | 0.2.6 | — |
| tmpnpm | 0.2.6 ≤ v < 0.2.7 | 0.2.7 |
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.