Sicherheitslücke im WPTouch Plugin für WordPress

Vor einigen Tagen berichteten die Jungs aus Sucuri über eine schwerwiegende Sicherheitslücke im TimThumb-Skript und Tage später über eine weitere Sicherheitslücke im MailPoet WordPress- Plugin . Nun, es scheint, dass diese Jungs nicht ruhen und eine neue Sicherheitslücke im WPTouch-Plugin für WordPress gemeldet haben.

Das WPTouch-Plugin ermöglicht es Ihnen, eine mobile Version unserer WordPress-Site automatisch und ohne Komplikationen zu haben. Dieses Plugin hat mehr als fünf Millionen Downloads , was die Ernsthaftigkeit der Angelegenheit demonstriert. Erschwerend kommt hinzu, dass Sie aufgrund der entdeckten Sicherheitslücke eine Datei mit bösartigem Code hochladen können und der Angreifer die Kontrolle über WordPress hat . Der Sicherheitsfehler wurde vor einigen Tagen mit der Veröffentlichung der WPTouch 3.4.3-Version behoben, mit der das Problem bereits behoben wurde. Aufgrund der Ernsthaftigkeit des Themas ist es ratsam, so schnell wie möglich zu aktualisieren.

Schwachstellenanalyse im WPTouch Plugin für WordPress

Das Sicherheitsproblem ermöglicht es Ihnen, Dateien mit PHP-Erweiterung hochzuladen und so Code auf dem Remote-Server auszuführen. Die einzige Voraussetzung ist, dass der WordPress-Blog öffentliche Aufzeichnungen zulässt.

Diese Sicherheitsanfälligkeit hängt eng mit dem Fehler zusammen, der im MailPoet-Plugin entdeckt wurde, und in dem bereits berichtet wurde, dass die Verwendung des admin_init , um festzustellen, ob ein Benutzer Dateien hochladen kann, keine sichere Methode ist.

Die Sicherheitslücke befindet sich in der core/class-wptouchpro.php in der die Methode admin_initialize() über den Hook admin_init .

Wenn wir den Code analysieren, sehen wir, dass eine nonce generiert wird, um festzustellen, ob der Benutzer Dateien hochladen kann, was nicht ausreicht. Der angreifende Benutzer muss nur zwei Schritte ausführen, um eine Datei ohne Berechtigung hochzuladen:

  • Greifen Sie auf wp-admin zu, um eine gültige nonce (daher betrifft der Fehler nur Blogs, die öffentliche Einträge zulassen).
  • Senden Sie eine AJAX-Anfrage, um eine Datei mit der im vorherigen Schritt erhaltenen nonce hochzuladen.
See also  So stellen Sie gelöschte Dateien mit Recuva wieder her

Hieraus machen wir deutlich, dass die Verwendung von Nonces auch nicht sicher ist, um die Berechtigungen eines Benutzers zu bestimmen, da es für diesen Zweck am ratsamsten ist, die Funktion current_user_can () zu verwenden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *