Výzkumník bezpečnosti legálních hackerů Dawid Golunski zveřejnil podrobnosti o chybě zabezpečení neoprávněného resetování hesla v jádru WordPress. Golunski demonstroval, jak by za určitých okolností mohl útočník zachytit e-mail s resetem hesla a získat přístup k účtu uživatele.

Jeho koncept důkaz využívá WordPress pomocí proměnné SERVER_NAME získat název hostitele serveru a vytvořit záhlaví Od / Return-Path e-mail pro resetování odchozího hesla.

Hlavní webové servery, jako je Apache, nastavují proměnnou SERVER_NAME ve výchozím nastavení pomocí názvu hostitele poskytnutého klientem (v hlavičce HTTP_HOST):

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

Protože SERVER_NAME může být upraven, může jej útočník nakonfigurovat v libovolné doméně podle svého výběru, například:

Attackers-mxserver.com

Což by poskytlo WordPress konfiguraci $ from_email

[chráněno e-mailem]

A způsobuje tak odchozí e-mail s cestou Return / Return-Path na této škodlivé adrese.

Výsledky tohoto konkrétního útoku budou záviset na prostředí serveru, konkrétní konfiguraci poštovního serveru a v některých případech budou vyžadovat interakci uživatele. Golunského zpráva obsahuje konkrétnější rozpis možných metod, které by mohly být použity.

Po nahlášení problému bezpečnostnímu týmu WordPress v červenci 2016 a také prostřednictvím Webové stránky HackerOne, Golunski neviděli žádný pokrok a rozhodli se publikovat podrobnosti o zranitelnosti pro veřejnost.

I když zatím neexistuje žádná oficiální oprava, bezpečnostní hvězda WordPress Aaron Campbell prohlásil, že problém není tak závažný, jak jen může být.

« Je to problém s nižší prioritou, ale víme o něm a je v naší frontě"Řekl Campbell." Vysvětlil jedinečný soubor podmínek, které by byly nutné k tomu, aby to byla vážná zranitelnost.

« Aby problém měl dopad na zabezpečení, musí server umožnit přepsání záhlaví dodaného uživatelem $ _SERVER ['SERVER_NAME']"Řekl Campbell." „Považujeme konfiguraci serveru za nedostatečnou (například„ display_errors “, kde je to možné na produkčním serveru), což je bohužel mimo naši kontrolu.“

Campbell testoval své osobní servery Apache a nginx a žádný z nich na to nemá licenci. Kromě nesprávně nakonfigurovaného serveru Campbell uvedl, že by se měla stát také jedna z následujících věcí:

  • Uživatel musí odpovědět na e-mail s nastavením hesla
  • Automatická odpověď musí odpovídat na e-mail a obsahovat originál
  • E-mailový server musí být kompromitován nebo přetížen a zpráva musí být vrácena odesílateli s obsah neporušený

« Pokud je váš server zranitelný a nemáte možnost opravit konfiguraci serveru, stále nemusíte dělat žádné změny v souborech WordPress, abyste problém zmírnili."Řekl Campbell." „Trochu takového PHP v pluginu definuje statickou e-mailovou adresu podle vašeho výběru:“

add_filter ('wp_mail_from', function ($ from_email) {return '[chráněno e-mailem]‚; });

Campbell uvedl, že jakékoli změny jádra, které WordPress provede, budou pravděpodobně prostřednictvím lístku, který aktuálně sleduje problém bez bezpečnostní perspektivy. Řekl, že oprava je nepravděpodobná v příštím vydání zabezpečení, ale tým na tom aktivně pracuje. Pokud najdou dobré zmírnění problému, Campbell řekl, že se o něj podělí, jakmile projdou potenciálními důsledky.

A ty? Co si myslíte o této zranitelnosti?