CVE-2026-33939
Təsvir
Handlebars istifadəçilərə semantik şablonlar yaratmaq üçün zəruri imkanları təmin edir. 4.0.0 və 4.7.8 versiyaları arasında, Handlebars şablonu qeydiyyatdan keçməmiş dekoratora istinad edən dekorator sintaksisi (məsələn, `{{*n}}`) ehtiva etdikdə, kompilyasiya edilmiş şablon `lookupProperty(decorators, "n")` funksiyasını çağırır və bu, `undefined` qaytarır. Daha sonra runtime nəticəni dərhal funksiya kimi çağırır ki, bu da Node.js prosesini çökdürən idarə olunmamış `TypeError: ... is not a function` xətasına səbəb olur. İstifadəçi tərəfindən təqdim edilən şablonları `try/catch` blokuna almadan kompilyasiya edən hər hansı bir tətbiq, tək sorğu ilə Xidmətdən imtina (DoS) hücumuna qarşı həssasdır. Versiya 4.7.9 bu problemi aradan qaldırır. Bəzi müvəqqəti həll yolları mövcuddur: Kompilyasiya və render proseslərini `try/catch` blokuna alın. Şablon girişini `compile()` funksiyasına ötürməzdən əvvəl yoxlayın; əgər tətbiqinizdə dekoratorlardan istifadə olunmursa, dekorator sintaksisi (`{{*...}}`) ehtiva edən şablonları rədd edin. Pre-kompilyasiya iş axınından istifadə edin; şablonları build zamanı kompilyasiya edin və yalnız öncədən kompilyasiya edilmiş şablonları təqdim edin; sorğu zamanı `compile()` funksiyasını çağırmayın.
Necə düzəltmək olar
- handlebarsjs handlebars4.7.9 və ya daha yeni versiya
- handlebars4.7.9 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| handlebarsjs handlebars | 4.0.0 ≤ v < 4.7.9 | 4.7.9 |
| handlebarsnpm | 4.0.0 ≤ v < 4.7.9 | 4.7.9 |
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.