IONOS - Änderung PHP 8 Standardeinstellung zur Fehlerausgabe - potentielle Sicherheitslücke

  • Hallo,


    ich habe heute von IONOS eine E-Mail bekommen mit dem Hinweis


    --

    wir möchten Sie darüber informieren, dass die in Ihrem IONOS Hosting-Vertrag verwendete PHP-Version 8.1 (und/oder 8.2) ein potentiell sicherheitskritisches Verhalten hervorgerufen hat. Dies wurde inzwischen für alle IONOS Hosting-Kunden behoben.

    Gemäß unserer allgemeinen Informationspflicht im Rahmen von Art. 28 DSGVO erläutern wir Ihnen gerne die Hintergründe.

    Was ist genau passiert?

    Ab der PHP-Version 8.1, die IONOS ab dem 01.12.2021 eingeführt hat, war die Fehlerausgabe über den Browser standardmäßig aktiviert („display_errors = on“).

    Da es sich hier um die Default-Einstellung von PHP direkt handelt und die PHP Entwickler davon ausgehen, dass diese Einstellung nur in Entwicklungsumgebungen aktiviert bleibt, haben sie kürzlich weitere Details in der Fehlerausgabe hinzugefügt. Dies konnte z. B. bei einem fehlgeschlagenen Verbindungsaufbau zur Datenbank dazu führen, dass die Zugangsdaten einer Datenbank als Fehlerausgabe im Klartext im Browser des Besuchers ausgegeben wurden.

    Wie hat IONOS reagiert?

    Um die Veröffentlichung von sensiblen Inhalten über den Browser im Fehlerfall zu vermeiden und zu unterdrücken, haben wir die Standardeinstellung von „on“ auf „off“ geändert. Somit tritt das oben beschriebene Verhalten für PHP 8.1 , 8.2 und neuere Versionen nicht mehr auf. Diese Änderung ist in allen Ihren IONOS Hosting-Verträgen aktiv.

    --


    Seht ihr da ein Problem, wenn man in Joomla die Fehleranzeige vorher schon deaktiviert hatte?

  • haben sie kürzlich weitere Details in der Fehlerausgabe hinzugefügt

    Das ist so nicht ganz richtig, aber auch egal bzgl. deiner Frage ;)

    Das sind die beiden relevanten Änderungen, die zu dem Phänomen führen könnten, dass früher je nach Einstellungen verschluckte Warnings jetzt als Errors angezeigt werden könnten mit PHP-Grundeinstellungen(!!). PHP 8.1: MySQLi: Default error mode set to exceptions Weniger relevant: PHP 8.0: Default error reporting is set to E_ALL , die aber dazu führen könnte, dass man mit PHP-Grundeinstellungen(!!) weitaus mehr nervige Meldungen sieht als zuvor (und die eine oder andere vielleicht auch "interessante" für Hacker (Serverpfade und Kram)).

    Seht ihr da ein Problem, wenn man in Joomla die Fehleranzeige vorher schon deaktiviert hatte?

    Ich glaube, dann kein Problem, weil Joomla ja die relevanten Einstellungen überschreibt und weiße Seite die Folge sein sollte.


    Ich pinge aber auch mal SniperSister , der deine Frage sicher besser beantworten kann, wenn er Lust/Zeit hat.

  • Also: um es erstmal in aller Deutlichkeit zu sagen: der Umstand, dass ein System Fehlermeldungen mit Pfaden ausgibt bedeutet an sich erstmal noch nicht, dass man die Seite erfolgreich angreifen kann. Die Fehlermeldungen geben einem Angreifer "nur" interessante Hinweise zu verwendeten Systemkomponenten, Pfadstruktur, Betriebssystem und co - diese Hinweise kann man dann nutzen, um nach anderen Lücken zu suchen bzw. sie können helfen, andere Lücken auszunutzen.

    Voraussetzung für einen erfolgreichen Angriff ist dabei aber immer, dass es eben solche vorhanden Lücken überhaupt gibt. Ohne Lücke, kein erfolgreicher Angriff.


    Dennoch ist es natürlich Best Practice, das Error Reporting auf Produktivsystem möglichst "stumm" zu halten. Wenn in der Joomla Konfiguration das Error Reporting deaktiivert ist, werden dabei etwaige Vorgaben auf Betriebssystemlevel überschrieben. Es wäre dann somit egal, was Ionos da eingestellt hatte.