CVE-2024-24828
Açıklama
pkg, Node.js projelerini yürütülebilir dosyalara paketlemek için tasarlanmış bir araçtır. `pkg` tarafından oluşturulan tüm yerel kod paketleri, sabit olarak belirlenmiş bir dizine yazılır. Unix sistemlerde bu dizin, aynı yerel sistemdeki tüm kullanıcılar için paylaşılan bir dizin olan `/tmp/pkg/*`'dır. Bu dizindeki paket isimlerinde herhangi bir benzersizlik yoktur ve bunlar öngörülebilirdir. Aynı yerel sisteme erişimi olan bir saldırgan, paylaşılan dizindeki gerçek yürütülebilir dosyaları aynı isimli kötü amaçlı yürütülebilir dosyalarla değiştirme yeteneğine sahiptir. Bir kullanıcı, değiştirildiğini fark etmeden kötü amaçlı yürütülebilir dosyayı çalıştırabilir. Bu paket kullanımdan kaldırılmıştır (deprecated). Bu nedenle, bu güvenlik açığı için bir yama sağlanmayacaktır. pkg ile oluşturduğunuz yürütülebilir dosyanın yerel koda bağımlı olup olmadığını ve savunmasız olup olmadığını kontrol etmek için yürütülebilir dosyayı çalıştırın ve `/tmp/pkg/` dizininin oluşturulup oluşturulmadığını kontrol edin. Kullanıcılar aktif olarak desteklenen alternatiflere geçiş yapmalıdır. Node.js 21'in tek yürütülebilir uygulama desteğinin incelenmesi önerilir. pkg paketini kullanımdan kaldırma kararı nedeniyle, ekibimiz tarafından sağlanan resmi bir geçici çözüm veya düzeltme bulunmamaktadır. Kullanıcılar, gelişmiş güvenlik ile benzer işlevsellik sunan diğer paketlere geçişe öncelik vermelidir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| vercel pkg | v ≤ 5.8.1 | — |
| pkgnpm | v ≤ 5.8.1 | — |
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.