Istraživač sigurnosti Legal Hackers Dawid Golunski objavio je detalje o neovlaštenoj ranjivosti za resetiranje lozinke u jezgri WordPressa. Golunski je pokazao kako je, u određenim okolnostima, napadač mogao presresti e-poštu za ponovno postavljanje lozinke i dobiti pristup korisničkom računu.

Njegov konceptni dokaz koristi WordPress koristeći varijablu ime_poslužitelja da biste dobili ime hosta poslužitelja za stvaranje zaglavlja Od / povratna putanja e-pošta za resetiranje zaporke.

Glavni web poslužitelji, poput Apachea, prema zadanim postavkama postavljaju varijablu SERVER_NAME koristeći naziv hosta koji pruža klijent (u zaglavlju HTTP_HOST):

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

Budući da se SERVER_NAME može izmijeniti, napadač ga može konfigurirati u proizvoljnoj domeni po vlastitom izboru, na primjer:

Attackers-mxserver.com

Što bi WordPressu omogućilo konfiguraciju $ from_email za WordPress

[e-pošta zaštićena]

I tako uzrokuje odlaznu e-poštu sa stazom Return / Return-Path na toj zlonamjernoj adresi.

Rezultati ovog određenog napada ovisit će o okolini poslužitelja, specifičnoj konfiguraciji poslužitelja pošte, au nekim će slučajevima zahtijevati interakciju korisnika. Izvještaj Golunskog uključuje precizniji prikaz mogućih metoda koje bi se mogle koristiti.

Nakon prijave problema WordPressovom sigurnosnom timu u srpnju 2016. i također putem web stranica HackerOne, Golunski nije vidio napredak i odlučio je objaviti pojedinosti o ranjivosti javnosti.

Iako još uvijek nema službene zakrpe, sigurnosna zvijezda WordPressa Aaron Campbell rekao je da problem nije toliko ozbiljan koliko može biti.

« To je pitanje nižeg prioriteta, ali svjesni smo toga i nalazi se u našem redu“Rekao je Campbell. Objasnio je jedinstveni skup uvjeta koji bi bili potrebni da bi ovo bila ozbiljna ranjivost.

« Da bi problem imao utjecaja na sigurnost, poslužitelj mora omogućiti nadjačavanje zaglavlja isporučenog od korisnika $ _SERVER ['SERVER_NAME']“Rekao je Campbell. "Smatramo da je konfiguracija poslužitelja nedovoljna (poput" display_errors "gdje je to primjenjivo na proizvodnom poslužitelju), što je nažalost izvan naše kontrole."

Campbell je testirao svoje osobne Apache i nginx poslužitelje i niti jedan od njih nije licenciran za to. Pored pogrešno konfiguriranog poslužitelja, Campbell je rekao da se mora dogoditi i jedna od sljedećih radnji:

  • Korisnik mora odgovoriti na e-poštu o ponovnom postavljanju zaporke
  • Automatski odgovor mora odgovarati na e-poštu i sadržavati izvornik
  • Poslužitelj e-pošte mora biti ugrožen ili preopterećen i poruka se vraća pošiljatelju s sadržaj netaknut

« Ako je vaš poslužitelj ranjiv i nemate mogućnost popravljanja konfiguracije poslužitelja, još uvijek ne morate unositi promjene u WordPress datoteke kako biste ublažili problem.“Rekao je Campbell. "Dio PHP-a poput ovog u dodatku definirat će statičku adresu e-pošte po vašem izboru:"

add_filter ('wp_mail_from', funkcija ($ from_email) {return '[e-pošta zaštićena]„; });

Campbell je rekao da će bilo kakve promjene jezgre koje WordPress napravi vjerojatno biti putem ulaznice koja trenutno prati problem bez sigurnosne perspektive. Rekao je da vjerojatno neće doći do popravka u sljedećem sigurnosnom izdanju, ali tim aktivno radi na tome. Ako pronađu dobro ublažavanje problema, Campbell je rekao da će ga podijeliti nakon što riješe sve potencijalne posljedice.

A ti? Što mislite o ovoj ranjivosti?