CPalius CMF 2.2.10
Yayın: 2026-09-24 · Kanal: kararlı · Kritik: evet
Kod tabanının tam kapsamlı bir beyaz şapkalı güvenlik denetiminde çekirdekte ve gönderilen modüllerde altı gerçek sorun bulundu. Hiçbiri istismar edilmiş olarak bulunmadı; hepsi bu sürümde düzeltildi.
Ne düzeldi
Bir Redis bağlantı şifresi düz metin olarak saklanabiliyordu. performance.redis.password, password yerine düz text tipinde tanımlanmıştı; bu yüzden SystemSettingsService onu hiç şifrelemedi ve AACP performans ayarları sayfası maskesiz şekilde geri gösteriyordu. Tanım artık password; bir güncelleme kancası mevcut düz metin değeri ilk çalıştırmada otomatik şifreliyor — elle bir işlem gerekmiyor.
Aynı Redis sunucusunu paylaşan iki CPalius kurulumunun oturumları çakışabiliyordu. RedisSessionHandler, her kurulumda aynı olan sabit varsayılan anahtar önekini (sf_s) kullanıyordu. Aynı Redis'i paylaşan iki site aynı oturum-anahtarı alanına yazıyordu: bir sitenin admin'i redis-cli ile başka bir sitenin canlı oturumlarını listeleyebilir, okuyabilir veya silebilirdi. Önek artık her kurulumun kendi APP_SECRET'ından türetiliyor — 2.2.8'de önbellek katmanına uygulanan düzeltmenin aynısı.
Giriş yaparken bir hesabın banlı, onay bekliyor veya doğrulanmamış olduğu — şifre kontrol edilmeden önce — sızıyordu. Symfony, UserCheckerListener'ı kimlik doğrulamasından önce çalıştırıyor; bu aşamada gösterilen duruma özel hata mesajı, herhangi biri geçerli bir şifre olmadan bir e-posta adresini göndererek o hesabın moderasyon durumunu öğrenmesine izin veriyordu. Kontrol artık şifre doğrulandıktan sonra çalışıyor.
AI çevirisi, her insan tarafından yazılan yazı ve sayfanın zaten geçtiği sanitizer'ı atlıyordu. Blog ve Sayfa otomatik çevirisi, AI sağlayıcısının HTML'ini doğrudan veritabanına yazıyor ve sitede escape edilmeden gösteriyordu — editör yolunun (Manifesto Law 5.3) aksine, o her zaman önce sanitize eder. Manipüle edilmiş veya ele geçirilmiş bir çeviri sağlayıcısı yanıtı, yayınlanan bir sayfaya stored XSS enjekte edebilirdi. Her iki yayıncı da artık kaydetmeden önce sanitize ediyor, insan yoluyla aynı.
Bir forum moderatörü, bir üyenin bio alanına stored XSS yerleştirebiliyordu. Forum üye yönetimi ekranından yapılan bio düzenlemeleri sanitize edilmeden kaydediliyor ve genel forum profilinde ile blog yazar kartlarında ham şekilde gösteriliyordu; eşdeğer tam-admin ekranı zaten doğru şekilde sanitize ediyordu. İki yol artık aynı.
DnsTools'un SSRF koruması DNS-rebinding saldırısıyla atlatılabiliyordu. Probe'lar bir hedef host adını doğruluyor, sonra bağlantıyı tekrar host adı üzerinden kuruyordu — düşük TTL'li bir DNS kaydının doğrulama anında herkese açık bir IP'den bağlantı anında iç bir IP'ye geçmesine ve port/HTTP/TLS/WHOIS/SMTP probe araçları üzerinden iç sistemlere ulaşılmasına izin veriyordu. Probe'lar artık host adını tekrar çözümlemek yerine doğrulanan adrese doğrudan bağlanıyor.
Yükseltme
Şema değişikliği yok. Bu güncelleme çalıştığında oturum açmış olan herkes bir kez çıkışa zorlanacak, çünkü Redis oturum anahtarı öneki değişiyor — bu beklenen bir durum, hata değil. performance.redis.password daha önce ayarlanmışsa, bu güncelleme ilk çalıştığında otomatik olarak yeniden şifrelenir; elle bir işlem gerekmez.
Bilinen kısıtlar
Bu sürüm yalnızca CPalius CMF ürününü kapsar. Aynı sunucuda çalışan, bu projeyle ilgisiz başka bir kod varsa, o bu projenin kapsamı dışındadır ve bu denetimin parçası değildi.