6 puan yazan GN⁺ 17 일 전 | 8 yorum | WhatsApp'ta paylaş
  • Aynı saldırgan, 30’dan fazla WordPress eklentisini satın aldıktan sonra ilk commit’te arka kapı kodu ekleyerek tedarik zincirini enfekte etti
  • Kötü amaçlı kod yaklaşık 8 ay boyunca gizli kaldı, ardından 2026 Nisan ayı başında etkinleşerek çok sayıda siteye spam bağlantılar ve yönlendirmeler enjekte etti
  • WordPress.org, 7 Nisan 2026’da tek bir gün içinde ilgili 31 eklentiyi kalıcı olarak kapattı ve zorunlu güncelleme dağıttı
  • Saldırgan, Flippa üzerinden ‘Essential Plugin’ portföyünü 6 haneli bir bedelle satın aldıktan sonra C2 alan adını gizlemek için Ethereum smart contract kullandı
  • Bu olay, 2017’deki ‘Display Widgets’ vakasına benzer bir büyük ölçekli tedarik zinciri saldırısının tekrarı olarak, WordPress eklenti ekosistemindeki güven yönetimi eksikliğini ortaya koydu

WordPress eklenti tedarik zinciri saldırısı vakası

  • 30’dan fazla WordPress eklentisi, aynı saldırgan tarafından devralındıktan sonra arka kapı yerleştirilmiş halde bulundu
  • Saldırgan, Flippa üzerinden ‘Essential Plugin’ portföyünü 6 haneli bir bedelle satın aldı ve ilk commit’te kötü amaçlı kod ekledi
  • Arka kapı 8 ay boyunca devre dışı şekilde gizli kaldı, ardından 2026 Nisan ayı başında etkinleşerek çok sayıda siteyi enfekte etti
  • WordPress.org, 7 Nisan 2026’da tek bir gün içinde ilgili eklentilerden 31’ini kalıcı olarak kapattı
  • Bu olay, 2017’deki ‘Display Widgets’ olayıyla benzer bir tedarik zinciri saldırısı kalıbının yeniden sahneye çıkması olarak değerlendiriliyor

Saldırının keşfi ve ilk müdahale

  • İlk enfeksiyon, bir müşteri sitesindeki wp-admin güvenlik uyarısı üzerinden doğrulandı
    • WordPress.org eklenti ekibi, “Countdown Timer Ultimate” eklentisinde yetkisiz erişime imkan veren kod bulunduğu uyarısını yaptı
    • WordPress.org zorunlu güncelleme (v2.6.9.1) dağıttı, ancak bazı siteler o sırada zaten zarar görmüştü
  • Güvenlik incelemesi sonucunda, eklentinin wpos-analytics modülünün analytics.essentialplugin.com adresine bağlanarak wp-comments-posts.php dosyasını indirdiği ve bunun üzerinden wp-config.php içine büyük çaplı PHP kod enjeksiyonu yapıldığı belirlendi

Kötü amaçlı yazılımın çalışma şekli

  • Enjekte edilen kod, C2 sunucusundan spam bağlantılar, yönlendirmeler ve sahte sayfalar alıyor ve bunları yalnızca Googlebot’a gösteriyordu
  • Saldırgan, C2 alan adını dinamik olarak yönetmek için Ethereum smart contract kullandı
    • Alan adı, blockchain RPC endpoint’leri üzerinden sorgulandığı için klasik alan adı engellemesiyle durdurulamıyordu
  • WordPress.org’un zorunlu güncellemesi yalnızca eklentinin eve-telefon-etme işlevini durdurdu; wp-config.php içindeki kötü amaçlı kod yerinde kaldı

Yedek analiziyle enfeksiyon zamanının izlenmesi

  • CaptainCore’un restic yedekleri kullanılarak 8 farklı zamana ait wp-config.php dosya boyutları karşılaştırıldı
    • 6 Nisan 2026 04:22–11:06 UTC arasında dosya boyutu 3.345 bayttan 9.540 bayta çıktı
    • Enfeksiyonun bu 6 saat 44 dakikalık aralıkta gerçekleştiği doğrulandı

Arka kapının eklenme zamanı ve kod yapısı

  • Eklentinin 2.6.7 sürümünde (8 Ağustos 2025) 191 satır yeni kod eklenerek arka kapı yerleştirildi
    • Değişiklik günlüğünde bunun “WordPress 6.8.2 uyumluluğu doğrulandı” şeklinde yazıldığı görüldü
  • Eklenen kodun başlıca işlevleri
    1. fetch_ver_info(), saldırgan sunucusundan gelen veriyi @unserialize() ile işliyor
    2. version_info_clean(), uzaktan gelen verideki fonksiyon adını çalıştırıyor
    3. Kimlik doğrulaması olmadan çağrılabilen bir REST API endpoint’i oluşturuyor (permission_callback: __return_true)
  • Bu yapı, rastgele fonksiyon çalıştırmaya (RCE) imkan veriyor ve 8 ay boyunca pasif kaldıktan sonra 5–6 Nisan 2026’da etkinleşti

Eklenti devralma süreci

  • Orijinal geliştirme ekibi, 2015’ten beri eklentiler geliştiren Hindistan merkezli WP Online Support idi
    • Daha sonra Essential Plugin olarak yeniden markalanıp 30’dan fazla ücretsiz ve ücretli eklenti işletmeye başladılar
  • 2024 sonlarında gelirler %35–45 düşünce, tüm iş Flippa’da satışa çıkarıldı
  • 2025 başında, SEO, kripto para ve online kumar pazarlaması geçmişi olan ‘Kris’ adlı bir kişi tarafından satın alındı
    • Flippa, Temmuz 2025’te bu işlemi başarı hikayesi olarak blogunda yayımladı
  • Satın alım sonrası ilk SVN commit’inde (8 Ağustos 2025) arka kapı kodu hemen eklendi
  • 5–6 Nisan 2026’da analytics.essentialplugin.com, tüm sitelere kötü amaçlı payload dağıtmaya başladı
  • 7 Nisan 2026’da WordPress.org, Essential Plugin’in tüm eklentilerini (31 adet) kalıcı olarak kapattı

Kapatılan eklentilerin listesi

  • Accordion and Accordion Slider, Countdown Timer Ultimate, Popup Anything on Click, WP Blog and Widgets, WP Team Showcase and Slider dahil 30’dan fazla eklenti
  • WordPress.org’da ilgili yazar aratıldığında sonuç çıkmıyor
  • analytics.essentialplugin.com şu anda {"message":"closed"} yanıtı döndürüyor

Geçmişteki benzer vakalar

  • 2017’de, Daley Tias adlı biri, Display Widgets eklentisini (200 bin kurulum) 15.000 dolara satın alıp spam kod ekledi
  • Sonrasında 9’dan fazla eklentiyi aynı yöntemle enfekte etti
  • Bu olay, aynı yöntemin daha büyük ölçekte (30’dan fazla) yeniden uygulanmış hali olarak görülüyor

Hasar giderme ve yama çalışmaları

  • WordPress.org’un zorunlu güncellemesi yalnızca geçici bir önlemdi
    • wpos-analytics modülünün kendisi hâlâ duruyordu
  • Ekip, arka kapı modülünü tamamen kaldıran bir yamalı sürüm hazırladı
    • 22 müşteri sitesinin 12’sinde Essential Plugin eklentileri bulundu, 10’u doğrudan yamalandı
    • Yamalı sürümde wpos-analytics dizini silindi, yükleyici fonksiyon kaldırıldı ve sürüm adına -patched eklendi
  • Örnekler: Countdown Timer Ultimate, Popup Anything on Click, WP Testimonial with Widget

Elle yama yöntemi

  • wpos-analytics/ dizinini silin
  • Ana eklenti dosyasındaki “Plugin Wpos Analytics Data Starts” veya wpos_analytics_anl bloğunu kaldırın
  • Version: başlığına -patched ekleyip yeniden sıkıştırın
  • wp plugin install your-plugin-patched.zip --force ile kurun
  • wp-config.php dosya boyutu yaklaşık 6 KB arttıysa bunu aktif enfeksiyon durumu sayın ve tam kurtarma uygulayın

WordPress eklenti ekosistemindeki güven sorunu

  • Son 2 haftada tedarik zinciri saldırıları art arda yaşandı
    • Güvenilir eklentiler devralındıktan sonra kötü amaçlı kod eklendi
    • WordPress.org commit yetkileri aynen devralındı ve doğrulama olmadan dağıtım yapıldı
  • WordPress.org’da sahiplik değişikliği takibi veya kodun yeniden incelenmesi süreci yok
    • Yeni committer eklendiğinde kullanıcı bildirimi ya da otomatik inceleme özelliği bulunmuyor
  • Eklenti ekibinin müdahalesi hızlıydı, ancak arka kapı eklendikten sonra 8 ay boyunca tespit edilemedi
  • WordPress site yöneticileri eklenti listesini gözden geçirmeli, Essential Plugin ailesindeki eklentileri derhal kaldırmalı veya yamalamalı ve wp-config.php dosyasını da mutlaka kontrol etmeli

8 yorum

 
tebica 16 일 전

On yıllardır WordPress kullanıyorum.
Yalnızca en az sayıda eklenti kullanıyorum ama yine de her zaman tedirginim.
Yine de statik sitelere kıyasla hâlâ daha kullanışlı olduğu için geçmek istemiyorum!

 
turastory 17 일 전

Son zamanlarda tedarik zinciri saldırılarıyla ilgili epey haber çıkıyor ya.

 
tangokorea 16 일 전

Aynen öyle. Son zamanlarda ciddi şekilde arttı.

 
xguru 17 일 전

WordPress gerçekten... durmadan sorun çıkarıyor. Zaten kullanıyorsanız, ilgili yazılarda EmDash gibi şeylere bakın.
Ben zaten bırakıp doğrudan statik sayfalara geçtim.

 
colus001 16 일 전

EmDash'i kurup denedim ama şimdilik aşırı yavaş. TTFB zaten en az 3 saniye çıkıyor; bunu gerçekten kullanılsın diye mi yapmışlar diye düşündürüyor.

 
xguru 15 일 전

Hah, anladım. O zaman ben sadece statikle yetineceğim, haha

 
tangokorea 16 일 전

Yapay zeka ile statik sayfa yönetiminin, eski kodlarla kaplanmış CMS'lerin yerini alabileceğini düşündürüyor gibi görünüyor.

 
GN⁺ 17 일 전
Hacker News görüşleri
  • Mythos hakkında abartılı tepkiler her zaman komik geliyor
    Otomatik zafiyet tespiti teknolojisi güvenlik sektörünü sarsabilir, ama asıl endişelenmemiz gereken şey bu değil
    Mevcut teknoloji yığını ve kurumsal yönetişim zaten çağın gerisinde kalmış durumda
    Durumu kötüleştiren başlıca etken ise kripto para oldu. Bu sayede hackleme milyarlarca dolarlık bir endüstri haline geldi ve Kuzey Kore gibi devletleri bile içine çekti
    Artık sadece bağımlılıkları satın almak ya da çalışanlara para verip bir “hata” yapmalarını sağlamak da mümkün
    Neredeyse hatasız yazılım yazabiliyoruz, ama büyük şirketleri bu ortamda güvende tutacak bir planımız yok
    Otonom LLM ajanları fidye yazılımı grupları tarafından kullanılacak, ama bunun için FreeBSD exploit’i kullanmaları gerekmiyor

    • “Neredeyse hatasız yazılım kullanabiliyoruz” sözü bana şüpheli geliyor
      Gerçekte her hafta PrimeVue, Vue, Spring Boot, Oracle sürücüsü, Ansible, Nvidia sürücüsü ve benzerlerinde hatalarla karşılaşıyorum
      Gerçekçi olarak tamamen kusursuz kod ancak uçak ya da uzay aracı gibi alanlarda mümkün olabilir
      Çoğu geliştirici hatasız kod yazmak istemediği için değil, çevresel kısıtlar yüzünden bunu yapamıyor
    • LAPSUS$ vakasında olduğu gibi, sadece çalışanlara rüşvet vererek iç erişim yetkisi alan hack grupları da oldu
      Bu, teorik bir mesele değil, gerçek. Devlet düzeyinde finansman varsa içeriden insan satın almak çok daha kolay olur
    • Bence bu sorun teknolojiden çok kurum kültürü sorunu
      OSS projelerinde büyük şirket yazılımlarına kıyasla daha az “WTF bug” var
      Tek başına geliştirirken yapılmayacak hatalar, kurumlarda onay süreçleri veya alışkanlıklar nedeniyle olduğu gibi yayına alınıyor
      “Bu gerçekten en iyi seçenek mi?” sorusunun sorulamadığı anormal kültür hata üretiyor
      Küçük ekiplerde bunu değiştirmek kolay, ama büyük organizasyonlarda maliyeti yüksek
    • Saldırganlar Ethereum akıllı sözleşmeleri üzerinden C2 alan adlarını güncelleyebiliyorsa, güvenlik duvarının tüm Ethereum uç noktalarını engellemesi gerekip gerekmediğini merak ediyorum
    • The Register yazısında dendiği gibi, saldırganların tedarik zincirini bir maliyet-risk analizi hedefi olarak görmesi gayet rasyonel bir strateji
  • Web projelerinde hep “npm install” ile başlanıyor ve onlarca kütüphane otomatik olarak kuruluyor
    Çoğu zaman yazarı bile hangi geçişli bağımlılıkların dahil olduğunu bilmiyor
    Böyle bir yapıda tedarik zinciri saldırılarını doğrulama ihtimali neredeyse yok

    • Bu yüzden ben dış paketlerden mümkün olduğunca kaçınıyorum
      Yakın zamanda yalnızca Python standart kütüphanesi ile hava durumu senkronizasyon aracı yazdım
      requests gibi harici paketlere gerek kalmadı ve bağımlılıksız olmanın huzurunu yaşadım
    • “Tekerleği yeniden icat etme” denir ama uygun bir orta nokta gerekiyor
      Kriptografi gibi çekirdek mantıklar doğrudan yazılmamalı, ama basit işlevler için bile kütüphanelere bağımlı olmak da fazla
    • Bu sadece web’e özgü bir sorun değil; maven, Python, Ruby ve diğer tüm ekosistemlerin ortak problemi
    • Lockfile sanılandan daha büyük fayda sağlıyor
      Sürümler sabitse, paket satılıp içine arka kapı eklenmiş olsa bile siz elle güncelleme yapana kadar etkilenmiyorsunuz
      Hatta otomatik olarak “patch version” PR’ı açan Dependabot daha korkutucu olabilir
    • Daha da kötüsü sudo curl URL | bash gibi alışkanlıklar
  • Yazılım güncelleme ideolojisinin kendisinin sorunlu olduğunu düşünüyorum
    Güncellemelerin güvenlik yaması gibi avantajları var, ama aynı zamanda geliştiricinin istemediği değişiklikleri dayatabilir ya da kötü niyetli hale gelebilirler
    Özellikle bağımsız geliştiricilerin yaptığı WordPress eklentilerinde otomatik güncellemeye asla izin verilmemesi gerektiğini düşünüyorum
    wordpress.org pazaryeri bu yapıyı desteklemediği için riskli
    Daha önce Chrome eklentileriyle ilgili bir yorum yazmıştım; Chrome yerine WordPress koyunca da aynı şey geçerli

  • WordPress eklentileri için tedarik zinciri saldırı yüzeyi uzun zamandır riskliydi
    Bunun nedeni, tekil geliştiricilerin yaptığı küçük eklentilerin çok sayıda kurulmasını teşvik eden ekosistem yapısı
    Halihazırda güven kazanmış bir eklentiyi satın alıp kötüye kullanmak, çok verimli bir saldırı yöntemi
    “Güncelleme bildirimi” doğrudan güven sinyali gibi çalıştığı için kullanıcılar yazarın değiştiğini bile fark etmiyor
    Paket imzalama ve şeffaflık sistemi gerekli, ama WordPress güvenlik altyapısını iyileştirmede yavaş kalıyor

    • Kullanıcıların çoğu yalnızca ücretsiz eklenti kullanmak istediği için site premium+reklam eklentileriyle kaplanıyor
      Yönetici paneli neredeyse IE6 araç çubuğu memi gibi görünüyordu
    • Müşteriler için WordPress sitesi yapmayı bırakma nedenim de buydu
      Çoğu kişi ücretsiz Securi veya Wordfence sürümünü kurup hiçbir ayar yapmadan tam güvenlik bekliyordu
    • wp.org, kötü niyetli aktörlere karşı fazla hoşgörülü
      Açık kötü amaçlı yazılımları engelliyor ama üçüncü taraf alan adlarından reklam bileşenleri enjekte eden türde bait-and-switch taktiklerine göz yumuyor
      Bu seviyede olunca neredeyse tasarım gereği böyle denebilir
  • FAIR paket yöneticisi projesinin başarılı olamaması üzücü
    fair.pm, atproto’dan ilham alan dağıtık bir yapı; merkezi depo olmadan herkes işletebiliyor
    Paketler DID ile tanımlanıyor ve Socket gibi kurumlar analiz sonuçlarını “labeler” olarak ekleyebiliyor
    Kullanıcılar belirli etiketlere sahip paketleri engelleyebiliyor, hatta yapay zeka tabanlı güvenlik analiz etiketleyicilerini kendileri de çalıştırabiliyor
    Kusursuz değil ama merkezi paket yöneticilerine kıyasla çok daha iyi bir yaklaşım

    • Vazgeçilmedi, sadece teknoloji odaklı bir yöne kayıldı
      Şu anda Typo3 topluluğu ile birlikte çalışılıyor ve diğer ekosistemlere doğru genişleniyor (yazan kişi FAIR eş başkanı)
    • npm alternatifi olarak ilginç bir platform olabilir
      Teşvik yapısı WordPress’ten daha iyi, ama yine de yeterli olmayabilir
    • Çok sayıda depo SEO amaçlı kötü amaçlı kodla dolacaksa, yalnızca arama motorlarıyla güvenli depo bulmak imkansız olur
      Dağıtıklık özgürlük sağlıyor ama kullanıcı açısından rahatsızlık da büyük
    • FAIR’in WordPress’e özel olup olmadığını merak ediyorum
  • Bu olayın ilginç yanı, eklentilerin Flippa üzerinden satın alınmış olması
    Flippa, yalnızca WP’ye özel değil, genel bir yazılım alım satım pazaryeri
    İyi niyetle devralınmış bağımsız uygulama veya eklentilerin sonradan silaha dönüştürülme ihtimali endişe verici
    Bu tür uygulamalar saldırganlar için, gerçek işletmecilerden daha bile değerli olabilir

  • En korkutucu olan şey arka kapının kendisi değil, satın almanın fazla normal görünmesi
    Güvenilir bir eklentiyi satın alıp güncelleme yayımlamak, meşru bakım faaliyetinden ayırt edilemiyor
    Kullanıcının şüphelenmesini sağlayacak hiçbir işaret yok

  • Pazar rekabetini sınırlayan birleşme ve satın almalar bazen devlet onayı gerektiriyor
    O halde güvenlik üzerinde ciddi etkisi olan satın almalar için de pazaryeri veya devlet onay süreci gerekmeli mi diye düşünüyorum
    Mergers and acquisitions Vikipedi maddesine bakılabilir

  • WordPress eklentileri sayesinde harikaydı, ama artık tam da bu eklenti yapısı yüzünden tehlikeli bir ekosisteme dönüştü
    Ben Hugo’ya geçtim, başkalarına da geçiş rehberini öneriyorum

  • Şirketler “IT outsourcing” yaparken ne kadar büyük bir kontrol kaybı yaşadıklarını tam olarak fark etmiyor gibi görünüyor