Vor kurzem wurde ich bei einer fremden Website um Hilfe beim Restore gebeten; dabei ist aufgefallen, dass diese noch auf WordPress-Version 4.4 lief – was im April 2017 definitiv nicht mehr zeitgemäß ist, vor allem in Hinblick auf Sicherheitslücken.
Ein nicht aktualisiertes WordPress ist erstmal nichts besonderes. Merkwürdig war aber in diesem Fall die Anzeige im Dashboard, wo die Versionsnummer fehlte. Auch wurde unter «Aktualisierungen» kein verfügbares Update angezeigt (obwohl zu diesem Zeitpunkt bereits 4.7.3 aktuell war).
Bekannt war außerdem, dass diese WP-Installation irgendwann mal mit dem 1-Click-Installer der Verwaltungssoftware cPanel angelegt wurde.
Um herauszufinden, woher die Update-Sperre kam, habe ich nun verschiedene Dinge ausprobiert.
Die erste Anlaufstelle war die Datei wp-config.php, in der jedoch nichts Auffälliges zu finden war.
Als nächstes habe ich eine weitere 1-Click-Installation angefertigt (diesmal etwas aktueller, nämlich 4.7.2). Und parallel von de.wordpress.org eine «neutrale» Version 4.7.2 heruntergeladen und alle Dateien und Ordner außer !! wp-content über die 1-Click-Version «drübergebügelt».
Voilà – eine Aktualisierung auf 4.7.3 wird im Backend angeboten und ist auch wirklich ausführbar.
Das gleiche Vorgehen hat dann auch bei der aktiven 4.4er-Version funktioniert. So weit, so gut. Die Update-Sperre war also gebrochen – aber noch nicht lokalisiert!
Zu diesem Zweck habe ich erneut eine frische WP-Installation mit dem 1-Click-Installer von cPanel angelegt. Mit einem Diff-Tool haben wir dann diese Dateien mit der «neutralen» Fassung von de.wordpress.org verglichen. Das Ergebnis: in der cPanel-Edition war – einziger Unterschied! – lediglich ein Plugin zusätzlich vorhanden, nur bestehend aus einer PHP-Datei namens cpaddons-site-software.php.
Diese Datei enthält außer einer Vielzahl an dramatisch klingenden Warnungen lediglich vier Zeilen Code – und genau diese vier Zeilen unterbinden den Versions-Check und auch die Aktualisierung der WordPress-Installation.
Sobald man dieses Plugin deaktiviert, kann man auch das 1-Click-installierte WordPress von cPanel ganz normal aktualisieren.
Gemein ist: die Plugin-Beschreibung im Dashboard (natürlich auf Englisch) läßt nicht unbedingt darauf schließen, dass mit dem Zusatz die so wichtigen WordPress-Core-Updates verhindert werden. Dort ist nur die Rede von «Integration in cPanel» und potentiellem Datenverlust …
Die Idee hinter dem Plugin ist wohl, dass der Hoster, der via cPanel die WP-Installation anbietet, auch gleichzeitig für die Updates von WordPress sorgen soll – für mich eine höchst fragwürdige Praxis. Ich möchte nicht, dass mein Hoster bestimmt, wann bzw. ob ich update. Aber ich benutze ja auch keine One-Click-Installer …
Um die Frage zu beantworten, was an der o.g. Praxis so fragwürdig ist, müssen wir uns anschauen, wer 1-Click-Installer nutzt.
1.) Profis, die sich Arbeit sparen wollen – diese erkennen und löschen vermutlich das Plugin (und sind höchstens ein wenig genervt). Na gut.
2.) Halbprofis oder auch Anwender, die sich wenig bis gar nicht auskennen. Diese bekommen von überall zu hören: «WordPress ist einfach und benutzerfreundlich und hastenichtgesehen. Es gibt eine starke Community, bei Sicherheitslücken gibts es immer recht schnell Updates und die bekommst Du angezeigt und musst sie nur installieren.»
Diese Personen möchten es sich also einfach machen (und nicht auch noch mit FTP und Datenbank-Einrichtung hantieren) und benutzen den 1-Click-Installer.
Was sie nicht mitbekommen und eventuell gar nicht erkennen (können) ist die Tatsache, dass man sich mit einer solch gesperrten WP-Installation ein wahres Kuckucksei ins Nest legt: Die Community kann so viele Updates herausbringen wie sie möchte – der Kunde wird es gar nicht mitbekommen! Also hat er irgendwann eine total veraltete und eventuell sogar angreifbare WordPress-Version am Start … und das finde ich kontraproduktiv.
Die 1-Click-Installer-Variante mit dem Plugin kannte ich noch nicht, aber nach meinen Informationen bietet Strato seinen Kunden ebenfalls einen 1-Click-Installer an, bei dem dann aber Änderungen am Core eine fortlaufende Aktualisierung verhindern. Kunden müssen also regelmäßig im Kundenmenü von Strato nachschauen, ob eine Aktualisierung angeboten wird. Die meisten technisch weniger versierten Kunden dürften dann vermutlich die einmal installierte Version nie wieder anfassen – bis die Website gehackt wird. In solchen Fällen wird die Website dann kurzerhand gesperrt.