Aufgrund einer fehlenden Prüfung auf den Dateityp war es in Form Block möglich, jede Art von Datei hochzuladen, indem man dem Server eine falsche Information über den Dateityp mitgab. Dieses Problem ist mit Form Block 1.5.6 behoben, ein Update wird empfohlen.

Das Problem

Das generelle Problem bei dieser Art von Sicherheitsproblemen ist, dass (im Falle von Form Block) jeder Benutzer z. B. eine PHP-Datei hochladen kann, während er dem Server mitteilt, dass es sich z. B. um eine JPG-Datei handelt. Dadurch wird sie wie eine JPG-Datei behandelt, und wenn der Benutzer die Möglichkeit erhält, die so hochgeladene PHP-Datei auszuführen, kann dies praktisch zu einer Remotecodeausführung führen – das heißt, der Benutzer könnte beliebigen Code auf dem Server ausführen.

Ich möchte klarstellen, dass letzteres in Form Block oder Form Block Pro nicht möglich ist. Da die Dateien in Form Block nicht weiterverarbeitet und nur per E-Mail an den Administrator gesendet werden, sind die Daten für einen Angriff zur Remotecodeausführung nicht zugänglich. Für Benutzer von Form Block Pro werden die hochgeladenen Dateien bei aktiviertem lokalem Upload zwar auf dem Server gespeichert, aber explizit als Binärdatei, was eine direkte Ausführung unmöglich macht. Es wäre eine weitere Sicherheitslücke erforderlich, um dies als Angriffsvektor zu verwenden.

Die Lösung

Mit Form Block 1.5.6 wird nun jede hochgeladene Datei auf den angegebenen Inhaltstyp geprüft, was bedeutet, dass eine PHP-Datei standardmäßig nicht mehr hochgeladen werden kann, da sie in WordPress überhaupt nicht hochgeladen werden darf. Andere unterstützte Dateitypen werden darauf überprüft, ob die tatsächlich hochgeladene Datei mit dem Dateityp übereinstimmt, den sie vorgibt zu sein.

In einem anderen Artikel werde ich erklären, warum das Problem überhaupt aufgetreten ist und wie ich es gelöst habe.

Ein Dank geht an Phat RiO für das Finden und Melden der Sicherheitslücke sowie an Patchstack für das Angebot des mVDP-Programms zur professionellen Bearbeitung der Meldung.

Likes

Neuveröffentlichungen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Um auf deiner eigenen Website zu antworten, gib die URL deiner Antwort ein, die einen Link zur Permalink-URL dieses Beitrags enthalten sollte. Deine Antwort wird dann (möglicherweise nach der Moderation) auf dieser Seite erscheinen. Möchtest du deine Antwort aktualisieren oder entfernen? Aktualisiere oder lösche deinen Beitrag und gib die URL deines Beitrags noch einmal ein. (Mehr über die Funktion von Webmentions erfahren)