Bir müşteri mesajını açtığımda yönetim panelim tuhaf davranıyor
Kendiliğinden yenilenen bir müşteri hizmetleri sayfası, açılan bir pencere, kendi kendine dolan bir alan: bir ziyaretçinin gönderdiği mesajın içeriği, sizin kendi yönetim oturumunuzda, sizin yetkilerinizle çalışabilir.
Görüntülenmek yerine çalışan bir mesaj
Senaryo her zaman aynıdır. Bir ziyaretçi mağazanın iletişim formundan bir mesaj gönderir. Mesaj, yönetim panelindeki müşteri hizmetleri kuyruğuna düşer. Biri yanıtlamak için mesajı açar ve sayfa, hiçbir yönetim sayfasının yapmaması gereken şeyi yapar: kendiliğinden yenilenir, bir pencere açılır, bir alan dolar, tıklanmadığı hâlde bir kayıt gönderilir.
Bu davranışın bir adı var: depolanmış siteler arası betik açığı, kısaca depolanmış XSS. İki kelime önemli. Siteler arası betik, başka birinin yazdığı kodun sizin tarayıcınızda, sizin sitenizin içinde, mağazanızın kendi koduyla tamamen aynı güven düzeyinde çalışması demektir. Depolanmış ise bu kodun tuzaklı bir adresten tek seferlik geçmediği, veritabanına, mesajın içeriğine kaydedildiği ve o kaydı her açan kişide yeniden çalışacağı anlamına gelir.
PrestaShop, tam olarak bu durumu düzeltmek için 28 Nisan 2026’da 8.2.6 ve 9.1.1 sürümlerini yayınladı: yönetim panelinin Müşteri Hizmetleri görünümünde depolanmış bir siteler arası betik açığı. İlgili duyuru GHSA-w9f3-qc75-qgx9, CWE-79 sınıfında, kritik önem derecesinde ve 9,3 puanla. Açık, Doyensec araştırmacıları tarafından sorumlu şekilde bildirildi.
Yönetim panelinde gördükleriniz
- Belirli bir mesaj açıldığında Müşteri Hizmetleri sayfası kendiliğinden yenileniyor.
- Sizden hiçbir işlem gelmeden bir pencere, bir uyarı veya bir sekme açılıyor.
- Yönetim panelindeki bir alan kendi kendine doluyor ya da tıklanmadan bir kayıt gönderiliyor.
- Aynı davranış hep aynı yazışma başlığında tekrar ediyor, başka hiçbirinde olmuyor.
- Bir çalışan, sizin başka bir oturumdan yeniden üretemediğiniz tuhaf bir görüntüden söz ediyor.
- Birinin müşteri hizmetlerini incelediği saatlerde yönetim paneli geçmişinde işlemler beliriyor.
Giriş noktası herkese açık, hedef değil
İletişim formu herkese açıktır: hesap da sipariş de gerekmez. Giriş noktası budur. Ama hedef bu değildir. Bir mesaja kod bırakan saldırgan, kimse o mesajı açmadığı sürece hiçbir şey kazanmaz; mesaj veritabanında hareketsiz bekler.
Neredeyse her zaman karıştırılan iki şeyi ayırmak gerekir. Mesaj kod içeriyor: bu pasif bir durumdur, kayıtlı bir metindir, kendi başına hiçbir etkisi yoktur. Kod bende çalışıyor: asıl olay budur ve yönetim paneli bu metni etkisizleştirmeden gösterdiği anda gerçekleşir. Tam o anda kod, okuyan kişinin tarayıcısında, mağazanın alan adı üzerinde ve hâlihazırda kimliği doğrulanmış bir yönetim oturumunun içinde çalışır.
Asıl hedef bu oturumdur. Saldırganın parolanıza ihtiyacı yoktur. İki adımlı doğrulamanızı aşmasına gerek yoktur. Yönetim panelinizin adresini, tarayıcıda zaten açık olan sayfa dışında bilmesine gerek yoktur. Sizin kendi açtığınız oturumu kullanır. Bu oturumun yapabildiği her şeyi kod da deneyebilir: bir çalışan hesabı oluşturmak, bir iletişim adresini değiştirmek, bir yapılandırma değerini düzenlemek, sekme kapandıktan çok sonra bile erişim bırakacak bir işlemi tetiklemek.
Dikkatsizce açmadan neye bakmalı
Doğal refleks, yani mesajı açıp içinde ne olduğuna bakmak, mağaza düzeltilene kadar tam olarak kaçınılması gereken şeydir. Düzeltme uygulanmadığı sürece her açma işlemi bir çalıştırmadır.
- Yazışmalara girmeden müşteri hizmetleri listesini gözden geçirin: konu, gönderen ve tarih çoğu zaman anormal bir gönderimi fark etmeye yeter.
- Konusunda veya önizlemesinde işaretlemeye benzeyen parçalar, fazladan tırnak işaretleri ya da arka arkaya noktalama karakterleri bulunan mesajları şüpheli sayın.
- Kısa bir aralıkta, herhangi bir siparişle ilgisi olmayan, tek kullanımlık adreslerden gelen bir mesaj yağmuru başlı başına bir sinyaldir.
- İçeriği mutlaka okumanız gerekiyorsa, yönetim arayüzünden değil, veritabanından veya çevrimdışı bir kopyadan okuyun.
Bir kopyasını sabitlemeden şüpheli mesajları silmenizi önermem. Gönderimin tarihini belirlemeyi, kimin açtığını saptamayı ve olayın sonuç doğurup doğurmadığına karar vermeyi sağlayacak tek kanıt onlardır.
Tercih sırasına göre üç düzeltme yolu
-
Önce yedek alın, istisnasız
PrestaShop’un resmi tavsiyesi açıktır: her güncellemeden önce dosyaların ve veritabanının eksiksiz yedeği. Sonradan alınan bir yedek, sorunu zaten içeriyorsa hiçbir işe yaramaz.
-
Sürüm yükseltin
Tercih edilmesi gereken yol budur. 28 Nisan 2026’da yayınlanan 8.2.6 ve 9.1.1 sürümleri açığı kapatır. PrestaShop, bu daldaki mağazalar için 8.2.6 sürümüne güncellemeyi açıkça tavsiye eder.
-
Düzeltme modülünü uygulayın
Hemen sürüm yükseltemeyen bir mağaza için PrestaShop özel bir düzeltme modülü sunuyor: pshotfix_ghsaw9f3qc75qgx9. Bu geçerli bir ara çözümdür, güncellemenin yerine geçmez.
-
Dosyaları elle düzeltin
Üçüncü yol, ilgili şablon ve doğrulama dosyalarındaki düzeltmeyi elle uygulamaktır. En kırılgan yol budur: bir sonraki güncellemede üzerine yazılır ve tam olarak neyi değiştirdiğinizi bilmenizi gerektirir.
-
Ardından yetkilerinizle neler yapılmış olabileceğini kontrol edin
Açık kapandıktan sonra: çalışan hesaplarının ve profillerinin listesi, hâlâ açık olan yönetim oturumları, yönetim paneli giriş günlükleri ve ilk şüpheli mesajın açılmasından bu yana oluşturulmuş veya değiştirilmiş her hesap.
Müşteri verileri etkilendiyse
Ele geçirilmiş bir yönetim oturumu, kişisel verilere erişim anlamına gelebilir: müşteri kayıtları, adresler, sipariş geçmişi, müşteri hizmetleri yazışmaları. Günlüklerin incelenmesi böyle bir görüntüleme veya dışa aktarma yapıldığını gösteriyorsa, artık yalnızca teknik bir olayla karşı karşıya değilsiniz.
GDPR çerçevesinde ihlal, bir güvenlik olayının kişisel verilerin kazara veya hukuka aykırı biçimde yok edilmesine, kaybına, değiştirilmesine ya da yetkisiz ifşasına yol açması demektir. Her ihlal, bildirmediğiniz ihlaller dâhil, iç bir kayıt defterine işlenmelidir. Kişilerin hak ve özgürlükleri için bir risk taşıyorsa, öğrenildikten sonraki 72 saat içinde yetkili makama, Fransa’da CNIL’e bildirilmelidir. Risk yüksekse, ilgili kişiler de somut koruma tavsiyeleriyle birlikte bilgilendirilmelidir. Risk olmadığı sonucuna varırsanız bildirim yapmazsınız, ancak bu değerlendirmeyi gerekçelendirebilmeniz gerekir.
Konuyla ilgili diğer sayfalar
-
Müdahaleden önce mağazayı yedekleme
Bir güvenlik güncellemesinden önce asla atlanmaması gereken tek adım.
-
Sitem ele geçirilmiş mi kontrol etme
Anormal bir davranış bir hatadan fazlası olabileceğinde neye bakmalı.
-
Yönetim parolaları ve paylaşılan erişimler
Ele geçirilmiş bir yönetim oturumunun erişebileceği alanı nasıl daraltırsınız.
-
Mağazanızı ilgilendiren açıkları takip etme
Açığı belirtiden öğrenmemek için güvenlik duyurularını nerede izlemeli.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.