Den technischen Kern der Lücke beschreibt Sansec über einen öffentlich erreichbaren Kassen-Endpunkt im Plugin: Eine eingehende Anfrage kann auswählen, welche interne Methode ausgeführt werden soll. In älteren Versionen prüfte das Plugin dabei weder die Berechtigung des Aufrufers noch schränkte es ein, welche Methoden überhaupt aufgerufen werden dürfen.

Über diese Lücke kann ein Angreifer mit einer nicht authentifizierten Anfrage eine interne Methode erreichen, die von ihm kontrollierte Daten direkt in die globalen Plugin-Einstellungen schreibt. Der so hinterlegte Code-Schnipsel wird anschließend in jede Kassenseite von Funnel Builder eingebettet. Auf diese Weise lässt sich ein schädliches <script>-Tag platzieren, das bei jeder Kassentransaktion einer anfälligen WordPress-Seite ausgelöst wird.

In mindestens einem Fall beobachtete Sansec eine Schadnutzlast, die sich als Google-Tag-Manager-Loader tarnte, um JavaScript von einer entfernten Domain nachzuladen. Anschließend öffnet der Code eine WebSocket-Verbindung zum Command-and-Control-Server der Angreifer („wss://protect-wss[.]com/ws“), über die ein auf den jeweiligen Shop zugeschnittener Skimmer bezogen wird.

Ziel des Angriffs ist es, Kreditkartennummern, Prüfziffern, Rechnungsadressen und weitere persönliche Daten abzugreifen, die Besucher an der Kasse eingeben. Sansec rät Shop-Betreibern, das Plugin auf die aktuelle Version zu aktualisieren und unter „Settings > Checkout > External Scripts“ nach unbekannten Einträgen zu suchen und diese zu entfernen. Skimmer als Google-Analytics- oder Tag-Manager-Code zu tarnen, sei ein wiederkehrendes Magecart-Muster, so Sansec, da Prüfer über alles hinwegläsen, was wie ein vertrautes Tracking-Tag aussehe.

Die Veröffentlichung folgt wenige Wochen auf einen Bericht von Sucuri über eine Kampagne, bei der Joomla-Websites mit stark verschleiertem PHP-Code mit einer Hintertür versehen werden. Der Code kontaktiert von Angreifern kontrollierte C2-Server, empfängt und verarbeitet deren Anweisungen und liefert Besuchern wie Suchmaschinen Spam-Inhalte aus – ohne Wissen des Seitenbetreibers. Ziel ist es, die Reputation der Seiten für das Einschleusen von Spam zu missbrauchen.

„Das Skript fungiert als Remote-Loader“, erklärte die Sicherheitsforscherin Puja Srivastava. „Es kontaktiert einen externen Server, sendet Informationen über die infizierte Website und wartet auf Anweisungen. Die Antwort des entfernten Servers bestimmt, welche Inhalte die infizierte Seite ausliefern soll.“ Dieser Ansatz erlaube es Angreifern, das Verhalten der kompromittierten Website jederzeit zu ändern, ohne erneut lokale Dateien anzupassen – etwa um Spam-Produktlinks einzuschleusen, Besucher umzuleiten oder dynamisch schädliche Seiten anzuzeigen.