Legal Hackers sikkerhetsforsker Dawid Golunski har publisert detaljer om et uautorisert sårbarhet for tilbakestilling av passord i WordPress-kjernen. Golunski demonstrerte hvordan en angriper under visse omstendigheter kunne fange opp e-postmeldingen for tilbakestilling av passord og få tilgang til brukerens konto.

Den bevis på konseptet utnytter WordPress ved hjelp av den variable SERVER_NAME for å få vertsnavnet til serveren for å opprette en overskrift Fra / Return-Path utgående passord tilbakestille e-post.

Store webservere som Apache angir variabelen SERVER_NAME som standard ved hjelp av vertsnavnet som tilbys av klienten (i HTTP_HOST-overskriften):

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

Fordi SERVER_NAME kan modifiseres, kan en angriper konfigurere den i et vilkårlig domene etter eget valg, for eksempel:

Attackers-mxserver.com

Noe som vil gi WordPress $ from_email-konfigurasjonen til

[e-postbeskyttet]

Og forårsaker derfor en utgående e-post med banen Return / Return-Path på den ondsinnede adressen.

Resultatene av dette bestemte angrepet vil avhenge av servermiljøet, den spesifikke konfigurasjonen av e-postserveren, og i noen tilfeller vil det kreve brukerinteraksjon. Golunskis rapport inneholder en mer spesifikk oversikt over mulige metoder som kan brukes.

Etter å ha rapportert problemet til WordPress-sikkerhetsteamet i juli 2016 og også gjennom nettstedet Web HackerOne, Golunski så ingen fremgang og bestemte seg for det publisere detaljene om sårbarheten for publikum.

Selv om det ikke er noen offisiell oppdatering ennå, har WordPress-sikkerhetsstjernen Aaron Campbell sagt at problemet ikke er så alvorlig som det kan være.

« Det er et problem med lavere prioritet, men vi er klar over det, og det er i køen vår”Sa Campbell. Han forklarte det unike settet med betingelser som kreves for at dette skal være en alvorlig sårbarhet.

« For at problemet skal ha innvirkning på sikkerheten, må en server tillate at en brukeroverført topptekst overstyres $ _SERVER ['SERVER_NAME']“Sa Campbell. "Vi anser serverkonfigurasjonen som utilstrekkelig (for eksempel 'display_errors' der det er aktuelt på en produksjonsserver), som dessverre er utenfor vår kontroll."

Campbell har testet sine personlige Apache- og nginx-servere, og ingen av dem har fått lisens for dette. I tillegg til å ha en feilkonfigurert server, sa Campbell at en av følgende ting også skulle skje:

  • En bruker må svare på en e-post om tilbakestilling av passord
  • Et automatisk svar må svare på e-posten og inkludere originalen
  • En e-postserver må være kompromittert eller overbelastet og meldingen returneres til avsenderen med innhold intakt

« Hvis serveren din er sårbar og du ikke har mulighet til å fikse serverkonfigurasjonen, trenger du fortsatt ikke å gjøre noen endringer i WordPress-filene for å lindre problemet.“Sa Campbell. "Litt PHP som dette i et plugin vil definere en statisk e-postadresse du ønsker:"

add_filter ('wp_mail_from', funksjon ($ from_email) {return '[e-postbeskyttet]'; });

Campbell sa at eventuelle endringer WordPress gjør i kjernen sannsynligvis vil komme gjennom en billett som for øyeblikket sporer problemet uten noe sikkerhetsperspektiv. Han sa at det er lite sannsynlig at en løsning vil komme i neste sikkerhetsutgivelse, men teamet jobber aktivt med det. Hvis de finner en god avbøtende effekt av problemet, sa Campbell at de vil dele det når de har trent alle potensielle forgreninger.

Og du ? Hva synes du om denne sårbarheten?