CVE-2026-76845
Təsvir
adm-zip 0.5.9 və 0.6.0 versiyaları çıxarma təyinatında simvolik keçidləri (symbolic links) izləyir. util/utils.js faylındakı Utils.sanitize funksiyası arxiv giriş adının yalnız sətir formasını həll edilmiş çıxarma kökü ilə müqayisə edərək məhdudiyyəti tətbiq edir və Utils.writeFileTo hesablanmış təyinat yerini fs.openSync(path, "w", 0o666) ilə açır ki, bu da simvolik keçidləri həll edir və nə O_NOFOLLOW parametrini, nə də yazma əvvəli fs.lstatSync yoxlamasını həyata keçirir. Təyinatdakı yol komponenti artıq çıxarma kökünün xaricindən göstərən bir simvolik keçid kimi mövcuddursa, extractAllTo, extractAllToAsync və extractEntryTo funksiyaları giriş məzmununu həmin keçid vasitəsilə yazır və sonra onun hədəfinə chmod tətbiq edir; beləliklə, arxivdə heç bir keçid ardıcıllığı (traversal sequence) olmadan hücumçunun idarə etdiyi məzmun kökdən kənardakı fayla yerləşdirilir. Yazma prosesinə çatmaq üçün overwrite funksiyasının aktiv olması tələb olunur, çünki ondan əvvəl gələn fs.existsSync yoxlaması da keçidi həll edir və əks halda imtina edir. Paylaşılan, təkrar istifadə edilən və ya proqnozlaşdırıla bilən çıxarma kataloqunda (məsələn, müvəqqəti kataloq və ya davamlı inteqrasiya iş sahəsi) simvolik keçid yarada bilən hücumçu, çıxarma prosesinin yazıcılığa icazəsi olan istənilən faylı yenidən yaza bilər.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| adm-zipnpm | 0.5.9 ≤ v ≤ 0.6.0 | — |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.