CVE-2026-49400

Düşük

Açıklama

October System, October Content Management System için system modülünü sağlamaktadır. Versiyonlar 3.7.17 ve 4.2.21 öncesinde, backend `SessionMaker` trait'i, widget oturum durumunu `base64(serialize(...))` olarak saklamakta ve bunu herhangi bir `allowed_classes` kısıtlaması olmaksızın `unserialize()` ile tüketmekteydi. Saldırgan tarafından kontrol edilen baytlarla bir `widget.*` oturum anahtarına yazabilen herhangi bir kod yolu, widget oturum durumunu bir sonraki okuma işleminde PHP nesne enjeksiyonunu tetikleyebilir; bu da rastgele sınıfların örneklendirilmesine ve erişilebilir PHP gadget zincirlerinin çalıştırılmasına olanak tanırdı. Bu sorun yalnızca `cms.safe_mode` etkinleştirilmiş kurulumları etkilemektedir. Güvenli Mod (Safe Mode), öncelikle demo kurulumları ile güvenilmeyen kullanıcılara kasıtlı olarak CMS işaretleme düzenleyici erişimi verilen çok kiracılı veya paylaşımlı düzenleyici senaryolarında kullanılan niş bir isteğe bağlı özelliktir. Standart üretim dağıtımlarında Güvenli Mod kapalıdır, backend erişimi güvenilir yöneticilerle sınırlandırılmıştır ve bir işaretleme düzenleyici zaten doğrudan rastgele PHP kodu çalıştırabilir. Bu noktaya ulaşan oturum yazma yolu Güvenli Mod sandbox'ı ile korunduğundan, Güvenli Mod etkin olmayan kurulumlar risk altında değildir. Etki kapsamı, Güvenli Mod etkin olsa bile dardır. Widget oturum durumunu dolduran standart backend kod yolları (arama terimleri, sıralama seçenekleri, seçili ID'ler, filtre değerleri), girdiyi serileştirmeden önce bilinen bir dizi yapısı içine sardığından, kullanıcı tarafından sağlanan değerler hiçbir zaman `unserialize()` fonksiyonuna kontrol edilebilir serileştirilmiş bir yük olarak ulaşmaz. İstismar işlemi, Güvenli Mod oturum yazma yolunun yanı sıra yüklü bağımlılık setinden erişilebilen uygun bir PHP gadget zinciri gerektirir. Aşağıdaki sıkılaştırma, temel nesne enjeksiyon noktasını kaldırarak sorunun bu sınıfını tamamen kapatmaktadır. Zafiyet v3.7.17 ve v4.2.21 sürümlerinde yamalanmıştır. İki değişiklik uygulanmıştır: `Backend\Traits\SessionMaker` artık widget oturum durumunu `base64(serialize(...))` yerine düz JSON olarak saklayarak yeni yazımlar için nesne enjeksiyon noktasını tamamen ortadan kaldırmaktadır. Okumalar, mevcut oturumların kaydedilen widget durumlarını koruması için tek bir yükseltme döngüsü boyunca şeffaf bir şekilde eski formata geri dönmektedir. Eski `unserialize()` geri dönüş yolu artık `allowed_classes => false` şeklinde ayarlanmıştır, böylece yükseltmeden önce yazılan değerler bile nesneleri örneklendiremez. Geçici bir çözüm olarak, her türlü dağıtım için standart October CMS önerisi olduğu üzere, CMS işaretleme düzenleme erişimini yalnızca tam güvenilir yöneticilerle sınırlandırın.

ÖnemDüşük
CVSS3.3
İstismar olasılığı—
ÜrünOctober/system
Yayın14 Eyl 2026
İlk görülme14 Eyl 2026

Nasıl düzeltilir

Güncelleyin
  • october/system3.7.17, 4.2.23 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
october/systemPackagistv < 3.7.17, 4.0.0 ≤ v < 4.2.233.7.17, 4.2.23

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.

Intelligence 360 paketinde

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.