1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Sicherheitslücke laut c't

Dieses Thema im Forum "Konfiguration" wurde erstellt von Marcus Schwarze, 2. November 2020.

Schlagworte:
  1. Marcus Schwarze

    Marcus Schwarze New Member

    Registriert seit:
    2. November 2020
    Beiträge:
    1
    Zustimmungen:
    0
    Die „c't“ berichtet in Ausgabe 23/2020 von einer Sicherheitslücke in Wordpress. Bei einer Standardinstallation ist automatisch auch die API von Wordpress von außen erreichbar. Damit lassen sich Medieninhalte automatisiert auslesen, selbst wenn sie noch nirgends auf der Website eingebaut sind. Auch passwortverschlüsselte Seiten sind so zwar nicht erreichbar, wohl aber die darauf eingesetzten Medieninhalte. Mir ist klar, dass jede ZIP-Datei oder Powerpoint-Präsentation, sofern einmal in Wordpress hochgeladen, automatisch bei Kenntnis des Links frei zugänglich ist. Über die API jedoch können automatisiert sämtliche Medieninhalte ausgelesen werden, auch ohne Kenntnis des jeweiligen Links.

    Überprüfen lässt sich die eigene Wordpress-Installation durch einen Aufruf von domain.de/wp-json. Erscheint hier eine ausführliche Antwort, ist die Installation angreifbar.

    „c't“ empfiehlt als einen Fix, folgenden Code in die functions.php des Themes aufzunehmen:

    /**
    * hinzugefügt ct-Tipp Sicherheit */
    add_filter( 'rest_authentication_errors', function( $result ) {
    if ( ! empty( $result ) ) {
    return $result;
    }
    if ( ! is_user_logged_in() ) {
    return new WP_Error( '401', 'not allowed.', array('status' => 401) );
    }
    return $result;
    });
    /** Ende ct-Tipp */


    Allerdings könnte dieser funktionstüchtige Code bei einem Update des Themes wieder überschrieben werden. Gibt es Pläne bei Wordpress, die Erreichbarkeit der API von außen generell auszuschalten und nur bei Bedarf per Schalter einzuschalten? Wie kann man das ohne Eingriff in die functions.php des Themes eleganter lösen?
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Lt. WordPress Core Entwicklern ist diese offene API explizit keine Sicherheitslücke:
    Siehe hier bzw. das o.g. Zitat ist dann von hier. Ergänzung: Es gibt in der WordPress Community aber durchaus auch gegenteilige Meinungen zu dem Thema.
    Beispielsweise über ein eigenes kleines Plugin mit diesem Code.

    Es gibt alternativ einige fertige Plugins, die sich mit dem ganz oder teilweisen Blockieren der REST API von aussen auseinandersetzen, auch viele Security-Plugins haben solche Funktionen.
     
    #2 b3317133, 2. November 2020
    Zuletzt bearbeitet: 2. November 2020
    danielgoehr gefällt das.
  3. danielgoehr

    danielgoehr Well-Known Member

    Registriert seit:
    13. Juli 2016
    Beiträge:
    2.674
    Zustimmungen:
    128
    Ergänzend sollte man noch hinzufügen:
    Viele Plugins (und auch externe Dienste) nutzen die Rest API. Man muss bei einer eingeschränkten oder deaktivierten Rest API damit leben, dass man dann auch einen eingeschränkten Funktionsumfang hat.
     
  4. wope48

    wope48 New Member

    Registriert seit:
    10. November 2020
    Beiträge:
    3
    Zustimmungen:
    0
    Ich weiß nicht, ob es keine Sicherheitslücke ist, wenn alle Administratoren von außen abfragbar sind, wenn sogar private Seiten sichtbar sind.
    In meinen Augen ist es eine schwere Sicherheitslücke. Wieso kann jeder dies abfragen? Private Seiten sind nicht umsonst privat, die Namen der Admins geht niemanden etwas an.
     
  5. threadi

    threadi Well-Known Member

    Registriert seit:
    9. Oktober 2020
    Beiträge:
    2.003
    Zustimmungen:
    402
    Sehe das ähnlich. Hab einige Beispiele wo für verschiedene Aufgaben dutzende, sogar hunderte Nutzer angelegt werden, teilweise mit ihren Klarnamen - die dürfen nicht auffindbar sein. Ebenso nicht Bestandteile von privaten Beiträgen. Das kann datenschutzrelevante Folgen haben. Ich verwende daher immer Plugins in meinen Projekten die die REST-API abschalten und würde das auch allen anderen nahelegen.
     
    wope48 gefällt das.
  6. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Private Beiträge und Seiten sind in der REST API nicht sichtbar.

    Benutzereinträge sind in der REST API nur sichtbar, wenn der jeweilige Benutzer auch Beiträge oder Seiten veröffentlicht hat und als Autor hinterlegt ist.

    Üblicherweise wird in WordPress ein Redakteur eingerichtet, der die Inhalte verwaltet, so ist vom Administrator in der REST API nichts zu sehen.

    Man mag zu dem Thema stehen wie man will, aber man sollte schon bei den Tatsachen bleiben.
     
    #6 b3317133, 10. November 2020
    Zuletzt bearbeitet: 10. November 2020
  7. wope48

    wope48 New Member

    Registriert seit:
    10. November 2020
    Beiträge:
    3
    Zustimmungen:
    0
    @ threadi Welche Plugins gibt es dafür?
     
  8. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Wenn man vor den o.g. Code der ct noch den folgenden Header setzt, hat man ein fertiges Plugin zum Installieren:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Auf mögliche Nebenwirkungen wurde bereits von @danielgoehr hingewiesen.
     

    Anhänge:

  9. wope48

    wope48 New Member

    Registriert seit:
    10. November 2020
    Beiträge:
    3
    Zustimmungen:
    0
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden