Ursache der Schwachstelle ist eine Funktion für „temporären Zugriff", die eigentlich dem Support-Personal erlauben soll, sich bei der Fehlersuche auf einer Kundenseite anzumelden. Da dieser Vorgang es nicht authentifizierten Nutzern gestattet, die Funktion „wpgmp_temp_access_support()" ohne ausreichende Prüfungen aufzurufen, lässt sich darüber letztlich ein Administratorkonto erzeugen.

Technisch liegt das Problem laut Wordfence darin, dass die AJAX-Aktion „wpgmp_temp_access_ajax" mit „wp_ajax_nopriv_" registriert und nur durch eine Nonce-Prüfung mit der Nonce „fc-call-nonce" geschützt ist. Diese Nonce wird über „wp_localize_script" als Nonce-Feld des JavaScript-Objekts „wpgmp_local" öffentlich in jede Frontend-Seite eingebettet, womit die Prüfung als Zugriffskontrolle wirkungslos wird.

Dadurch können nicht authentifizierte Angreifer den Handler „wpgmp_temp_access_support" mit dem Parameter „check_temp=false" aufrufen. Dieser legt über „wp_insert_user()" bedingungslos ein neues WordPress-Konto mit der fest hinterlegten Rolle „Administrator" an und gibt eine sogenannte Magic-Login-URL zurück. Wird diese aufgerufen, ruft sie „wp_set_auth_cookie()" auf und authentifiziert den Angreifer vollständig als neu angelegten Administrator — die komplette Übernahme der Website ist die Folge.

Der von den Plugin-Entwicklern veröffentlichte Patch schließt die Lücke, indem nur noch authentifizierte Administratoren auf den Endpunkt zugreifen können. Trotz des verfügbaren Updates steht die Schwachstelle bereits unter aktivem Beschuss. Wordfence rät Website-Betreibern, ihre Installationen umgehend auf die neueste Version zu aktualisieren.