CVE-2024-47061
Açıklama
Plate, metin düzenleyicileri oluşturmak için popüler bir çerçeve olan Slate ile geliştirme yapmanızı kolaylaştıran bir javascript araç takımıdır. Plate'in uzun süredir mevcut olan özelliklerinden biri, `attributes` özelliği kullanılarak herhangi bir öğeye veya yaprağa özel DOM öznitelikleri ekleme yeteneğidir. Bu öznitelikler, `nodeProps` prop'u aracılığıyla düğüm bileşenine aktarılır. Bu özelliğin; siteler arası betik çalıştırma (XSS) ve bilgi ifşası (özellikle kullanıcıların IP adresleri ve kötü amaçlı bir belgeyi açıp açmadıkları) dahil olmak üzere kötü niyetli amaçlar için kullanılabileceği dikkatimizi çekmiştir. Öznitelikler yoluyla bilgi ifşası riskinin yalnızca rastgele URL'lere yapılan web isteklerinin normalde izin verilmediği uygulamalar için geçerli olduğunu unutmayın. Örneğin, kullanıcıların rastgele URL'lerden resim yerleştirmesine izin veren Plate düzenleyicileri, zaten kullanıcıların IP adreslerini üçüncü taraflara sızdırma riski taşımaktadır. @udecode/plate-core paketinin etkilenen bir sürümünü kullanan tüm Plate düzenleyicileri, style özniteliği ve web isteklerinin gönderilmesine neden olabilen diğer öznitelikler üzerinden bu bilgi ifşası saldırılarına karşı savunmasızdır. Ek olarak, bir Plate düzenleyicisinin öznitelikler kullanılarak gerçekleştirilen siteler arası betik çalıştırma saldırılarına karşı savunmasız olup olmadığı bir dizi faktöre bağlıdır. Savunmasız olması en muhtemel DOM öznitelikleri, sırasıyla bağlantılardaki href ve iframe'lerdeki src öznitelikleridir. {...nodeProps} ifadesini bir <a> veya <iframe> öğesine yayan ve daha sonra href veya src değerlerini geçersiz kılmayan her bileşen XSS'e karşı savunmasız olacaktır. Plate'in yamalanmış sürümlerinde, link, image, video, table cell ve table header cell eklentilerindeki target, alt, width, height, colspan ve rowspan gibi bazı istisnalar hariç, çoğu öznitelik adı için element.attributes ve leaf.attributes varsayılan olarak devre dışı bırakılmıştır. Eğer bu sizin için kırıcı bir değişiklikse, belirli eklentiler için öznitelikleri aşağıdaki şekilde seçerek yeniden etkinleştirebilirsiniz. Lütfen izin verdiğiniz her özniteliğin güvenlik etkilerini dikkatle araştırın ve değerlendirin, çünkü style gibi görünüşte zararsız öznitelikler bile kötü niyetle kullanılabilir. Yamalanmış sürümlerden herhangi birine yükseltme yapamıyorsanız, @udecode/plate-core içerisindeki öznitelikleri nodeProps'a ekleyen mantığı kaldırmak için patch-package veya yarn patch gibi bir araç kullanmalısınız.
Nasıl düzeltilir
- @udecode/plate-core38.0.6, 36.5.9, 21.5.1 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| @udecode/plate-corenpm | 37.0.0 ≤ v < 38.0.6, 22.0.0 ≤ v < 36.5.9, v < 21.5.1 | 38.0.6, 36.5.9, 21.5.1 |
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.