CVE-2024-43367
Təsvir
Boa, Rust dilində yazılmış daxil edilə bilən və eksperimental bir Javascript mühərrikidir. Versiya 0.16-dan başlayaraq versiya 0.19.0-a qədər olan versiyalarda, ECMAScript-in `AsyncGenerator` əməliyyatlarının idarə edilməsi zamanı edilən yanlış fərz müəyyən skriptlərdə tutulmamış istisnaya (uncaught exception) səbəb ola bilər. Boa-nın `AsyncGenerator` tətbiqi, `%AsyncGeneratorPrototype%.next`, `%AsyncGeneratorPrototype%.return` və ya `%AsyncGeneratorPrototype%.throw` kimi `AsyncGenerator` metodları tərəfindən yaradılan promise həll olunarkən `AsyncGenerator` obyektinin vəziyyətinin dəyişə bilməyəcəyi fərzini irəli sürür. Lakin diqqətlə qurulmuş kod, promise-in `then` xüsusiyyətinin getter metodu vasitəsilə vəziyyət keçidini tətikləyə bilər ki, bu da mühərrikin həmin fərz üzrə assertion yoxlamasının uğursuz olmasına və nəticədə tutulmamış istisnanın baş verməsinə səbəb olur. Bu, xarici istifadəçi tərəfindən təqdim edilən ixtiyari ECMAScript kodunu işlədən tətbiqlərdə Xidmətdən İmtina (DoS) hücumunun həyata keçirilməsi üçün istifadə edilə bilər. Versiya 0.19.0-da bu hal düzgün şəkildə idarə etmək üçün yamalar tətbiq edilmişdir. Yenilənmiş versiyaya keçid edə bilməyən istifadəçilər, mühərrik tərəfindən törədilən hər hansı istisnanın əsas tətbiqin əlçatanlığına təsir etməməsini təmin etmək üçün `std::panic::catch_unwind` funksiyasından istifadə etməlidirlə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 |
|---|---|---|
| boa-dev boa | >= 0.16, < 0.19.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.