CVE-2023-38488
Açıklama
Kirby bir içerik yönetim sistemidir. 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 ve 3.9.6 öncesi sürümlerdeki bir güvenlik açığı; kimliği doğrulanmış Panel kullanıcıları grubunda potansiyel saldırganların bulunabileceği veya harici ziyaretçilerin bir Kirby içerik dosyasını güncellemesine izin veren (örneğin bir iletişim veya yorum formu aracılığıyla) tüm Kirby sitelerini etkilemektedir. Güvenilmeyen kullanıcılara veya ziyaretçilere yazma erişimi vermeyen Kirby siteleri bu durumdan etkilenmez. Bir içerik depolama uygulamasındaki alan enjeksiyonu (field injection), içerik yazma erişimine sahip saldırganların, site geliştiricisinin değiştirilmesini istemediği içerik alanlarının üzerine yazmasına olanak tanıyan bir güvenlik açığı türüdür. Bir Kirby sitesinde bu durum; site içeriğini değiştirmek, site davranışını bozmak veya kötü amaçlı veri ya da kod enjekte etmek için kullanılabilir. Kesin güvenlik riski, alan türüne ve kullanımına bağlıdır. Kirby varsayılan olarak sitenin, sayfaların, dosyaların ve kullanıcıların içeriğini metin dosyalarında saklar. Metin dosyaları, her alanın yeni satırlar ve dört tireden (`----`) oluşan bir satırla ayrıldığı Kirby'nin KirbyData formatını kullanır. Bir KirbyData dosyası okunurken, etkilenen kod önce dosya içeriğinden Unicode BOM dizisini kaldırır ve ardından içeriği alan ayırıcısına göre alanlara böler. Bir KirbyData dosyasına yazarken, kullanıcı girişinin alan yapısını bozmasını önlemek için alan verilerindeki alan ayırıcıları kaçış karakterleri ile işaretlenir (escaped). Ancak bu işlem, bir alan ayırıcısına Unicode BOM dizisi eklenerek (örneğin `--\xEF\xBB\xBF--`) yanıltılabilir. Yazma işlemi sırasında bu bir ayırıcı olarak algılanmazken, okuma sırasında BOM kaldırıldığı için saldırganlar tarafından içerik dosyalarına diğer alan verilerini enjekte etmek amacıyla kötüye kullanılabilirdi. Her alan bir içerik dosyası başına yalnızca bir kez tanımlanabildiğinden, bu güvenlik açığı yalnızca içerik dosyasında savunmasız kullanıcı-yazılabilir alanın üzerinde tanımlanan veya hiç tanımlanmamış olan alanları etkiler. Savunmasız alanın altında tanımlanan alanlar, enjekte edilen alan içeriğinin üzerine yazdığından zaten korunmaktaydı. Sorun Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 ve 3.9.6 sürümlerinde düzeltilmiştir. Bahsedilen tüm sürümlerde, geliştiriciler etkilenen kodu yalnızca dosyanın başındaki Unicode BOM dizisini kaldıracak şekilde düzeltmiştir. Bu işlem, hem yeni yazılan hem de mevcut içerik dosyaları için bu güvenlik açığını gidermektedir.
Nasıl düzeltilir
- getkirby kirby3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 ya da sonraki bir sürüm
- getkirby/cms3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| getkirby kirby | 3.5.0 ≤ v < 3.5.8.3, 3.6.0 ≤ v < 3.6.6.3, 3.7.0 ≤ v < 3.7.5.2, 3.8.0 ≤ v < 3.8.4.1, 3.9.0 ≤ v < 3.9.6 | 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 |
| getkirby/cmsPackagist | v < 3.5.8.3, 3.6.0 ≤ v < 3.6.6.3, 3.7.0 ≤ v < 3.7.5.2, 3.8.0 ≤ v < 3.8.4.1, 3.9.0 ≤ v < 3.9.6 | 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1, 3.9.6 |
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.