WordPress’in çekirdek kodundaki yeni açık, yönetici oturumunu kullanan özel hazırlanmış bağlantılarla WordPress.org’dan tema kurulumunu tetikleyebiliyor; araştırmacılar bu zincirin başka bir tema açığıyla birleştiğinde sunucuda kod çalıştırmaya kadar uzandığını gösterdi. Güvenlik yaması 17 Eylül’de yayımlanan WordPress 7.1.1 ile geldi ve şu ana kadar açığın gerçek saldırılarda kullanıldığına dair bir işaret yok.
Click2Shell zinciri nasıl çalışıyor
Araştırmacıların Click2Shell adını verdiği saldırı akışı, WordPress.org’daki tema dizini ile yönetici tarayıcısının aynı bağlantıyı farklı yorumlamasına dayanıyor. WordPress.org tarafı bağlantıdaki değeri sıradan bir tema adı gibi ele alıyor ve gerçekten var olan bir temayı döndürüyor. Yönetici tarayıcısı ise bağlantının içindeki ham metni, noktalama işaretleriyle birlikte, sayfadaki öğeyi seçmek için kullanılan koda yeniden taşıyor. pwn.ai, bu temel kusur için “Core bug does not accept an arbitrary theme ZIP by itself” ifadesini kullandı.
Saldırganın bağlantıya eklediği karakterler, bu kodu kurulum düğmesine yönlendiriyor ve WordPress’in kendi betiği butona tıklıyor. Yönetici zaten oturum açmış durumda olduğu için gerekli yetki ve güvenlik belirteci oturum üzerinden sağlanıyor; saldırganın ayrıca bir kimlik doğrulama bilgisi ya da token vermesi gerekmiyor. Bu nedenle saldırı, kullanıcıdan yalnızca bağlantıyı açmasını istiyor.
pwn.ai’nin aktardığına göre çekirdek açık tek başına rastgele bir tema ZIP dosyasını kabul etmiyor. Sistem, WordPress.org üzerindeki gerçek bir temayı zorla seçip kuruyor. Kurulan tema ise otomatik olarak etkinleşmiyor; bu yüzden sitenin görünen tasarımı değişmiyor ve dışarıdan bakıldığında bir sorun olduğu hemen anlaşılmıyor.
Buna rağmen kurulu ama devre dışı bir tema her zaman pasif kalmıyor. WordPress, Customizer aracında önizleme oluştururken bir temanın PHP kodunu tema etkinleştirilmeden önce de yükleyebiliyor. Araştırmacılar, zorla kurulan temanın ikinci bir açık taşıması hâlinde zincirin burada kritik bir noktaya ulaşabildiğini gösterdi.
pwn.ai’nin incelemesine göre bu açık, iki WordPress bileşeninin aynı bağlantıyı farklı okuması nedeniyle ortaya çıkıyor. WordPress.org dizini, linkteki değeri normal bir tema adı olarak yorumlayıp gerçek bir tema döndürüyor. Yönetici tarayıcısı ise orijinal metni, noktalama işaretleriyle birlikte, sayfadaki bir öğeyi seçmeye yarayan kodun içine yeniden koyuyor. Saldırganın bağlantıya eklediği karakterler bu kodu Kurulum düğmesine yönlendiriyor ve WordPress’in kendi betiği tıklamayı tamamlıyor.
Kurulum için gereken izin ve güvenlik belirteci, yöneticinin zaten açık olan oturumundan geliyor. pwn.ai, saldırganın bu aşamada ayrı bir kimlik bilgisi göndermediğini belirtti. Kurulan tema işaretlendiği anda aktif hale gelmiyor; bu da görünür değişiklikleri sınırlıyor ve müdahaleyi ilk bakışta gizleyebiliyor.
Yama 7.1.1 ile geldi, riskin seviyesi yüksekten kritiğe çıktı
İncelemede kullanılan tema Mobile Repair Zone idi. Bu temada, istekteki bir web adresini çekip paketi indiren ve ardından kodunu çalıştıran bir arka plan işleyicisi bulundu. İşleyici ne ziyaretçi izni kontrolü yapıyor ne de güvenlik tokeni arıyordu. Zorla kurulumdan sonra bu işleyici devreye girdiğinde saldırganın kodu sunucuda çalıştı.
Güvenlik araştırmacıları, yalnızca zorla kurulum açığına 7.1 CVSS puanıyla yüksek risk değerlendirmesi verdi. Açığın tema içindeki ikinci kusurla birleştirilip kod çalıştırmaya ulaşan tam zinciri ise 9.6 puanla kritik olarak sınıflandırdı. WordPress kendi sürüm notlarında bir puanlama yayımlamadı, ancak sorunu “Specially crafted URLs can automatically install and preview an inactive theme from WordPress.org” şeklinde tarif etti.
Henüz bir CVE numarası atanmış değil. pwn.ai, WordPress’in ilerleyen aşamada bu açık için bir kayıt açmayı planladığını söyledi. Kurumun yayımladığı düzeltme, 4.7’ye kadar uzanan destekli sürüm dallarını kapsayan güvenlik güncellemesinin parçası olarak dağıtıldı. Notlarda, açığın 6.0 sürümünden başlayıp düzeltmeden önceki sürümlere kadar uzandığı doğrulandı.
WordPress 7.1.1’i ya da kullanılan sürüm dalına karşılık gelen güvenlik güncellemesini yüklemesi gereken site sahipleri için otomatik güncelleme açık sistemler dosyayı kendiliğinden alacak. WordPress ve araştırmacılar, yama uygulanana kadar kullanılabilecek ayrı bir geçici çözüm de paylaşmadı. Yine de saldırının işlemesi için bağlantıyı açan kişinin oturum açmış bir yönetici olması gerekiyor; bu şart, çekirdek açığın gösterilen saldırı biçiminde temel unsur olarak kalıyor.
Click2Shell, pwn.ai’nin son haftalardaki ilk WordPress çekirdek bulgusu da değil. Ağustos ayında WordPress, yine giriş ekranında bulunan ve kod çalıştırmaya zincirlenebilen benzer bir açığı kapatmıştı. Temmuz ayında açıklanan ve wp2shell adı verilen başka bir WordPress çekirdek açığı ise bu çalışma ile bağlantılı değil; o kusur oturum açma ya da tıklama gerektirmiyor ve ABD siber güvenlik kurumu CISA tarafından gerçek saldırılarda istismar edildiği bilinen açıklar listesine eklenmiş durumda. Click2Shell için ise böyle bir kullanım kaydı henüz bulunmuyor.
