CVE-2024-28121
Açıklama
stimulus_reflex, kullanıcı etkileşimlerini yakalayıp bunları gerçek zamanlı websocket'ler üzerinden Rails'e ileterek hem Rails hem de Stimulus yeteneklerini genişleten bir sistemdir. Etkilenen sürümlerde, reflex örnekleri üzerinde beklenenden daha fazla yöntem çağrılabilir. Bunların bazılarını çağırabilmek güvenlik etkilerine sahiptir. Bir reflex'i tetiklemek için şu yapıda bir websocket mesajı gönderilir: `\"target\":\"[class_name]#[method_name]\",\"args\":[]`. Sunucu, `StimulusReflex::Reflex` sınıfından türediği sürece sağlanan `class_name` kullanılarak `reflex` örneğini oluşturacaktır. Ardından, sağlanan argümanlarla örnek üzerinde `method_name` yöntemini çağırmaya çalışır. Bu durum sorunludur çünkü `reflex.method method_name`, geliştirici tarafından reflex sınıfında açıkça belirtilenlerden daha fazla yöntemi içerebilir. Bunun iyi bir örneği `instance_variable_set` yöntemidir. Bu güvenlik açığı 3.4.2 ve 3.5.0.rc4 sürümlerinde giderilmiştir. Yükseltme yapamayan kullanıcılar, hafifletme tavsiyeleri için ilgili GHSA danışmanlığına bakmalıdır.
Nasıl düzeltilir
- stimulus_reflex3.5.0.rc4, 3.4.2, 3.5.0-rc4 ya da sonraki bir sürüm
- stimulusreflex stimulusrelfex3.4.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| stimulus_reflexRubyGems | 3.5.0.pre0 ≤ v < 3.5.0.rc4, v < 3.4.2, 3.5.0-pre0 ≤ v < 3.5.0-rc4 | 3.5.0.rc4, 3.4.2, 3.5.0-rc4 |
| stimulusreflex stimulusrelfex | v < 3.4.2, 3.5.0 | 3.4.2 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.