CVE-2024-32970
Təsvir
Phlex, Ruby dilində obyekt yönümlü görüntülər yaratmaq üçün çərçivədir. Təsirə məruz qalan versiyalarda bədniyyətli şəkildə hazırlanmış istifadəçi məlumatları vasitəsilə istismar edilə bilən potensial saytlararası skriptinq (XSS) boşluğu mövcuddur. Son iki boşluqdan (https://github.com/phlex-ruby/phlex/security/advisories/GHSA-242p-4v39-2v8g və https://github.com/phlex-ruby/phlex/security/advisories/GHSA-g7xq-xv8c-h98c) sonra biz geniş brauzer testlərinə investisiya yatırmışıq. Məhz bu yeni testlər həmin problemləri aşkar etməyimizə kömək etdi. Hazırda layihə tərtibatçıların düşünə bildiyi hər bir mümkün hücum vektorunu — o cümlədən bütün ASCII simvollarının sadalanmasını yoxlayır və bu testləri Chrome, Firefox və Safari brauzerlərində işlədirik. Əlavə olaraq, 6613 məlum XSS faylları siyahısına qarşı testlər aparırıq (bax: payloadbox/xss-payload-list). Bu problemlərin əvvəllər aşkar edilməməsinin səbəbi escape funksiyalarının dizayna uyğun işləməsi idi. Lakin onların dizaynı, brauzerlərin HTML atributları vasitəsilə təhlükəsiz olmayan JavaScript-i icra etmək məsələsində nə dərəcədə ehtiyatsız və tolerant olduğunu nəzərə almamışdı. Əgər siz `href` atributu istifadəçi tərəfindən təqdim edilmiş linkə təyin olunmuş `<a>` teqi render edirsinizsə, həmin link digər istifadəçi tərəfindən klikləndikdə potensial olaraq JavaScript icra edə bilər. Hər hansı HTML və ya SVG teqini render edərkən istifadəçi tərəfindən təqdim edilmiş atributları splat etdikdə, çıxışa bədniyyətli hadisə (event) atributları daxil ola bilər və bu hadisələr digər istifadəçi tərəfindən tetikləndikdə JavaScript icra edilir. Son bir ildə buraxılmış bütün kiçik versiyalar üçün RubyGems-də yamalar mövcuddur. İstifadəçilərə yeniləmə etmək tövsiyə olunur. Yeniləmə edə bilməyən istifadəçilər, bu boşluğun istismar edilməsinin effektiv şəkildə qarşısını almaq üçün `unsafe-inline` icazəsi verməyən Content Security Policy konfiqurasiyasını qurmalıdırlar. Yeniləmə edən istifadəçilərə də `unsafe-inline` icazəsi verməyən Content Security Policy başlığı konfiqurasiya etmək tövsiyə olunur.
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 |
|---|---|---|
| phlex-ruby phlex | < 1.9.3, >= 1.10.0, < 1.10.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.