CVE-2026-50029
Təsvir
js-toml JavaScript üçün TOML analizatorudur. Versiya 1.1.2-dən əvvəl interpretator, analizator tərəfindən qurulmuş konteynerdə açarın mövcud olub-olmadığını `if (key in object)` əvəzinə `if (object[key])` ilə yoxlayır. Əgər əvvəlki dəyər falsy primitivdirsə — `false`, `0`, `0n`, `0.0`, `-0` və ya `""` — təkrarlanan-açar budağı ötürülür və dəyər eyni ada malik sonrakı alt-cədvəl, nöqtəli-açar alt-cədvəli və ya cədvəllər massivi tərəfindən səssiz şəkildə yenidən yazılır. TOML 1.0.0 spesifikasiyasına görə ("Açarın bir neçə dəfə təyin edilməsi etibarsızdır"; "Hər hansı bir açarı və ya cədvəli birdən çox dəfə təyin edə bilməzsiniz"), bu, analiz xətası olmalıdır. Nəticədə, `load()` tərəfindən qaytarılan dəyərdə hücumçu tərəfindən adlandırılmış açarların struktur tip qarışıqluğu yaranır. Boolean tipli `false` (və ya rəqəmsal `0`) truthy obyektə çevrilir. Davranışı `if (config.flag)`, `if (!user.banned)`, `if (config.allowDelete)` və ya `if (config.publicMode)` şərtləri ilə idarə edən host tətbiqləri səssiz şəkildə truthy budağını seçəcəkdir. Bu, GHSA-65fc-cr5f-v7r2-dən (1.0.2 versiyasındakı prototype-pollution düzəlişi) fərqlidir. `Object.prototype` çirkləndirilmir. 1.0.2 versiyasındakı `Object.create(null)` yumşaltma tədbiri qüvvədə qalmışdır; buradakı xəta konteynerin qurulmasında deyil, təkrarlanan-açar vəziyyət maşınındadır. Versiya 1.1.2 yanlış müqayisəni aradan qaldırır.
Necə düzəltmək olar
- js-toml1.1.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| js-tomlnpm | v < 1.1.2 | 1.1.2 |
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.