RIPS Technologies, WordPress ve Automattic tarafından geliştirilen e-ticaret eklentisi WooCommerce ile ilgili bir sorun keşfetti. Resmî istatistiklere göre bu çözüm dört milyondan fazla kez indirildi ve yaklaşık olarak aynı sayıda etkin kuruluma sahip.
Araştırmacılar burada iki sorun olduğunu açıklıyor. İlk sorun şu: Eklenti, kullanıcılar için farklı roller kullanan WordPress’e kurulduğunda kendi kimlik doğrulama sistemini oluşturmuyor, mevcut CMS yetki sistemini kullanıyor. Bunun için eklenti, WordPress’in yeni işlevleriyle yeni bir rol oluşturuyor, ardından kendi işlevleri aracılığıyla bu rolün CMS ayarları ve diğer kullanıcılarla etkileşimini sınırlandırıyor.
Böylece WooCommerce kurulurken, edit_users haklarına sahip Shop Manager («mağaza yöneticisi») için yeni bir rol oluşturuluyor. Bu izin, kullanıcının yönetici dahil WordPress’teki diğer tüm kullanıcıların yayınlarını ve profillerini düzenlemesine olanak tanıyor.
Görünüşe göre WooCommerce geliştiricileri, bu role sahip kullanıcıların yöneticilerin profillerine müdahale etmesini engelleyen bir işlev sunmuş. Ancak eklentilerin yetki yönetim sisteminin işleyişindeki bir kusur nedeniyle, WooCommerce devre dışı bırakıldığında «mağaza yöneticileri» için kısıtlama işlevi çalışmayı bırakıyor ve bu role sahip kullanıcılar diğer kullanıcıların hesaplarını serbestçe düzenleyebiliyor.
Dolayısıyla eklentiyi devre dışı bırakmanın tek güvenilir yolu, bunu yönetici aracılığıyla devre dışı bırakmak ve tüm dosyalarını silmektir. İşte ikinci sorun da burada ortaya çıkıyor.
Gerçek şu ki RIPS Technologies analistleri, WooCommerce’in 3.4.5 ve daha eski sürümlerinde dosyaların silinmesiyle ilgili bir hata buldu. Shop Manager haklarına sahip kullanıcıların, eklentinin çalışması için kritik olanlar da dahil olmak üzere eklentinin herhangi bir dosyasını silebildiği ortaya çıktı. Ardından eklenti öngörülebilir şekilde çalışmayı bırakıyor, WordPress onu otomatik olarak devre dışı bırakıyor ve durum, mağaza yöneticisi rolüne sahip bir kullanıcının herhangi bir kullanıcının profilini değiştirebildiği yukarıdaki senaryoya dönüyor.
Araştırmacılar, böyle bir durumda saldırganın yönetici hesabını ele geçirmekte, dolayısıyla tüm siteyi kontrol altına almakta zorlanmayacağını açıklıyor. Aşağıdaki video, olaydaki iki sorunun birleşimini gösteriyor.
Uzmanlar, bu yöntemi başarıyla kullanabilmesi için saldırganın mağaza yöneticisi rolüne sahip bir hesaba erişmesi gerektiğini vurguluyor. Ancak araştırmacılara göre bu, XSS açıkları veya kimlik avı saldırıları sayesinde mümkün.
WooCommerce geliştiricileri, eklentinin yeni bir sürümünü (3.4.6) yayımlayarak sorunu çoktan giderdi. Eklentilerin otomatik güncellemesi hiç etkin olmadığından, uzmanlar kullanıcılara güncellemeleri kontrol etmelerini ve WooCommerce’in en son sürümleriyle çalıştıklarından emin olmalarını öneriyor.