Craft CMS 5'te kritik GraphQL açığı: anonim istemci gizli bölümlerin içeriğini okuyabiliyor
Craft CMS 5.0.0–5.11.1 sürümlerindeki CVE-2026-124427 (CVSS 9.8), anonim GraphQL istemcilerinin prev/next alanları üzerinden şemada izin verilmeyen bölümlerin kayıtlarını okumasına yol açıyor. Düzeltme 5.11.2'de.
CVE-2026-124427Kurumsal web siteleri ve headless içerik projelerinde kullanılan Craft CMS'te kritik bir yetki atlatma açığı, 8 Kasım'da CVE-2026-124427 kimliğiyle yayımlandı. Açık 5.0.0'dan 5.11.2'ye kadarki Craft CMS 5 sürümlerini etkiliyor; puan CVSS v3.1'e göre 9.8. Saldırı için oturum gerekmiyor, GraphQL uç noktasına erişebilen anonim bir istemci yeterli.
Bildirime göre sorun, GraphQL şemasının erişim kapsamını prev/next (önceki/sonraki kayıt) alanlarında uygulamamasından kaynaklanıyor. Kapsam içinde görünen tek bir kayıttan zincirleme ilerlenerek, şemada açıkça dışarıda bırakılmış bölümlerin kayıtları sıralanabiliyor; başlık, slug ve özel alan içerikleri okunabiliyor. Taslak, iç duyuru ya da müşteriye özel içerik tutan bölümler bu nedenle risk altında. Açık şu an KEV'de değil ve istismar raporu yok.
Etkilenen ve düzeltilmiş sürümler
| Ürün | Etkilenen | Düzeltilmiş sürüm |
|---|---|---|
| Craft CMS | 5.0.0 – 5.11.1 | 5.11.2 |
Craft CMS 4 ve öncesi bu bildirimin kapsamında listelenmiyor; güncel liste için üretici bildirimine bakın.
Beni etkiliyor mu?
Açığın sizi etkilemesi için Craft CMS 5 kullanmanız ve GraphQL API'nin herkese açık (Public Schema) olması gerekiyor. Kurulu sürümü proje dizininde şu salt okunur komutla görebilirsiniz:
cat composer.lock | grep -A2 craftcms/cmsKontrol panelinde Settings › GraphQL › Schemas altında "Public Schema" kaydının etkin olup olmadığına ve hangi bölümlere izin verdiğine bakın. Public Schema kapalıysa ve tüm GraphQL istekleri token gerektiriyorsa doğrudan anonim risk düşer; ancak token sahibi istemciler için de kapsam aşımı söz konusu olabilir.
Ne yapılmalı?
- Craft CMS'i 5.11.2 veya üzerine güncelleyin; güncellemeyi önce test ortamında doğrulayıp change management kaydıyla canlıya alın.
- Hemen güncelleyemiyorsanız geçici önlem olarak Public Schema'yı devre dışı bırakmayı ya da GraphQL uç noktasını web uygulama firewall'unda yalnızca bilinen istemcilere açmayı değerlendirin.
- Web sunucusu ve WAF loglarında GraphQL uç noktasına gelen, prev/next alanlarını art arda kullanan alışılmadık sorgu yoğunluğunu inceleyin.
- Gizli bölümlerde tutulan içeriği gözden geçirin; hassas veri varsa ifşa olmuş olabileceği varsayımıyla değerlendirme yapın.