CVE-2024-32970
Açıklama
Phlex, Ruby'de nesne yönelimli görünümler oluşturmak için kullanılan bir çerçevedir. Etkilenen sürümlerde, kötü niyetle hazırlanmış kullanıcı verileri aracılığıyla istismar edilebilecek potansiyel bir siteler arası betik çalıştırma (XSS) zafiyeti bulunmaktadır. Son iki zafiyet olan https://github.com/phlex-ruby/phlex/security/advisories/GHSA-242p-4v39-2v8g ve https://github.com/phlex-ruby/phlex/security/advisories/GHSA-g7xq-xv8c-h98c sonrası kapsamlı tarayıcı testlerine yatırım yapılmıştır. Bu sorunların ortaya çıkarılmasına bu yeni testler yardımcı olmuştur. Şu an itibarıyla proje, her bir ASCII karakterinin sayılması da dahil olmak üzere geliştiricilerin düşünebileceği her türlü saldırı vektörünü uygulamakta ve bu testleri Chrome, Firefox ve Safari üzerinde çalıştırmaktadır. Ek olarak, 6613 bilinen XSS yükünden oluşan bir liste üzerinden testler yapılmaktadır (bkz: payloadbox/xss-payload-list). Bu sorunların daha önce tespit edilmeme nedeni, kaçış dizilerinin tasarlandığı şekilde çalışıyor olmasıdır. Ancak tasarım, tarayıcıların HTML öznitelikleri aracılığıyla güvenli olmayan JavaScript yürütme konusunda ne kadar gelişigüzel izin verdiğini hesaba katmamıştır. Eğer `href` özniteliği kullanıcı tarafından sağlanan bir bağlantıya ayarlanmış bir `<a>` etiketi oluşturursanız, bu bağlantı başka bir kullanıcı tarafından tıklandığında potansiyel olarak JavaScript çalıştırabilir. Herhangi bir HTML veya SVG etiketini oluştururken kullanıcı tarafından sağlanan öznitelikleri splat yöntemiyle eklerseniz, çıktıya kötü niyetli olay öznitelikleri dahil edilebilir ve bu olaylar başka bir kullanıcı tarafından tetiklendiğinde JavaScript çalıştırılabilir. Geçtiğimiz yıl yayınlanan tüm küçük sürümler için yamalar RubyGems üzerinde mevcuttur. Kullanıcıların yükseltme yapmaları önerilir. Yükseltme yapamayan kullanıcılar, bu zafiyetin istismar edilmesini etkili bir şekilde önleyecek olan ve `unsafe-inline` izni vermeyen bir İçerik Güvenliği Politikası (Content Security Policy) yapılandırmalıdır. Yükseltme yapan kullanıcılara da `unsafe-inline` izni vermeyen bir İçerik Güvenliği Politikası başlığı yapılandırmaları önerilir.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| phlex-ruby phlex | < 1.9.3, >= 1.10.0, < 1.10.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.