Legal Hackers güvenlik araştırmacısı Dawid Golunski, WordPress çekirdeğindeki yetkisiz şifre sıfırlama güvenlik açığının ayrıntılarını yayınladı. Golunski, belirli koşullar altında bir saldırganın şifre sıfırlama e-postasına nasıl müdahale edebileceğini ve bir kullanıcının hesabına nasıl erişebileceğini gösterdi.

kavramının kanıtı WordPress değişkenini kullanarak güçlendirir SERVER_NAME bir başlık oluşturmak üzere sunucunun ana bilgisayar adını almak için / Return-Path Gönderen giden parola sıfırlama e-postası.

Apache gibi büyük web sunucuları, istemci tarafından sağlanan ana bilgisayar adını (HTTP_HOST başlığında) kullanarak SERVER_NAME değişkenini varsayılan olarak ayarlar:

Https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname

SERVER_NAME değiştirilebildiği için, bir saldırgan, istediği isteğe bağlı bir etki alanında, örneğin:

Attackers-mxserver.com

Bu, WordPress'e $ from_email yapılandırmasını verecek

[e-posta korumalı]

Ve bu kötü niyetli adrese Dönüş / Dönüş Yolu yolu ile giden bir e-postaya neden olur.

Bu özel saldırının sonuçları, sunucu ortamına, posta sunucusunun özel yapılandırmasına bağlı olacak ve bazı durumlarda kullanıcı etkileşimi gerektirecektir. Golunski'nin raporu, kullanılabilecek olası yöntemlerin daha spesifik bir dökümünü içeriyor.

Sorunu Temmuz 2016'da WordPress güvenlik ekibine bildirdikten sonra ve ayrıca Site Web HackerOne, Golunski ilerleme görmedi ve yayınlamak kamuoyuna güvenlik açığının ayrıntıları.

Henüz resmi bir yama olmasa da, WordPress güvenlik yıldızı Aaron Campbell, sorunun olabileceği kadar ciddi olmadığını söyledi.

« Bu daha düşük öncelikli bir sorun, ancak bunun farkındayız ve sıraya girmiş durumda"Campbell dedi. Bunun ciddi bir güvenlik açığı olması için gerekli olan benzersiz koşullar kümesini açıkladı.

« Sorunun güvenliği etkilemesi için bir sunucunun, kullanıcı tarafından sağlanan bir başlığın geçersiz kılınmasına izin vermesi gerekir $ _SERVER ['SERVER_NAME']"Campbell dedi. "Sunucu yapılandırmasının yetersiz olduğunu (bir üretim sunucusunda geçerliyse 'display_errors' gibi), maalesef kontrolümüz dışında olduğunu düşünüyoruz."

Campbell kişisel Apache ve nginx sunucularını test etti ve hiçbiri bunun için lisanslanmadı. Yanlış yapılandırılmış bir sunucuya sahip olmanın yanı sıra Campbell, aşağıdaki eylemlerden birinin de gerçekleşmesi gerektiğini söyledi:

  • Bir kullanıcının parola sıfırlama e-postasını yanıtlaması gerekir
  • Otomatik yanıt, e-postayı yanıtlamalı ve orijinalini içermelidir
  • Bir e-posta sunucusunun güvenliği ihlal edilmiş veya aşırı yüklenmiş olmalı ve mesaj gönderene içindekiler bozulmamış

« Sunucunuz savunmasızsa ve sunucu yapılandırmasını düzeltemiyorsanız, sorunu hafifletmek için WordPress dosyalarında hala herhangi bir değişiklik yapmanız gerekmez."Campbell dedi. "Bir eklentide bunun gibi biraz PHP, seçtiğiniz statik bir e-posta adresini tanımlayacaktır:"

add_filter ('wp_mail_from', işlev ($ from_email) {return '[e-posta korumalı]'; });

Campbell, WordPress'in çekirdekte yaptığı herhangi bir değişikliğin muhtemelen şu anda sorunu güvenlik perspektifi olmadan izleyen bir bilet aracılığıyla olacağını söyledi. Bir sonraki güvenlik sürümünde bir düzeltmenin gelmesinin muhtemel olmadığını, ancak ekibin aktif olarak üzerinde çalıştığını söyledi. Campbell, sorun için iyi bir çözüm bulurlarsa, herhangi bir potansiyel sonuç üzerinde çalıştıklarında bunu paylaşacaklarını söyledi.

Ya sen ? Bu güvenlik açığı hakkında ne düşünüyorsunuz?