2021-12 security release/FAQ/de

Eine Reihe von Schwachstellen in MediaWiki wurde gefunden, welche es Angreifern erlauben, Seiteninhalte privater Wikis zu erspähen und Bearbeitungsberechtigungen zu umgehen. Der Hauptzugriffspunkt dieser Sicherheitslücken ist es, verwundbare Aktionen auf Seiten zu verwenden, die auf gelistet und damit öffentlich zugänglich sind. MediaWiki macht die Aktion „view“ („ansehen“) nun standardmäßig nur auf Seiten öffentlich zugänglich, die in gelistet sind. Diese Probleme sind in 1.35.5, 1.36.3 und 1.37.1 behoben.

Was sind die Probleme?

 * CVE-2021-44858: Die „Rückgängig“-Funktion erlaubte es Angreifern, die Inhalte beliebiger Versionen zu sehen, unabhängig davon, ob sie dazu berechtigt waren. Dies betraf ebenso die „mcrundo“- und „mcrrestore“-Aktionen (  and  ).
 * CVE-2021-45038: Die „kommentarlos zurücksetzen“-Funktion konnte einen speziell erstellten Parameter empfangen, welcher es Angreifern erlaubte, die Inhalte beliebiger Seiten anzuzeigen, unabhängig davon, ob sie dazu berechtigt waren.
 * CVE-2021-44857: Die „mcrundo“- und „mcrrestore“-Aktionen ( and  ) prüften Bearbeitungsberechtigungen nicht richtig, und erlaubten es Angreifern, den Inhalt einer beliebigen Version zu nehmen und auf einer beliebigen anderen, von den Angreifern gewählten Seite zu speichern. Dies betrifft sowohl öffentliche Wikis als auch öffentliche Seiten auf privaten Wikis.

Ich habe keine Zeit, zu patchen, wie deaktiviere ich das?
Füge die folgenden Zeilen zu deiner LocalSettings.php hinzu:

Wenn dein Wiki privat ist (Einloggen erfordert, um Seiten anzusehen), musst du zusätzlich hinzufügen:

Dies sollte den verwundbaren Code vollständig deaktivieren. Diese Änderungen funktionieren auch für verwundbare MediaWiki-Versionen, die nicht mehr unterstützt werden und für die kein Patch verfügbar ist.

Falls du verwendet hast, um es ausgeloggten Besuchern zu ermöglichen, die Hauptseite mit einer Hilfenachricht zu sehen, solltest du diese Hilfenachricht in die MediaWiki:Loginreqpagetext-Nachricht verschieben, welche als Teil des „Login erforderlich“-Fehlers gezeigt wird.

War ich betroffen?

 * Falls dein Wiki öffentlich ist (jeder kann Seiten ansehen): ja
 * Falls dein Wiki privat ist, und oder  mindestens eine Seite enthält: ja

Falls du eine Erweiterung wie Lockdown oder Whitelist Pages verwendest, um einige Seiten gewissen Benutzern unzugänglich zu machen, bist du wahrscheinlich ebenfalls betroffen.

Welche Versionen sind betroffen?
Alle MediaWiki-Versionen seit 1.23.0 sind von den Umgehungen von Leseeinschränkungen auf privaten Wikis (CVE-2021-44858, CVE-2021-45038) betroffen.

Alle MediaWiki-Versionen seit 1.32.0 sind von der Umgehung von Bearbeitungsberechtigungen betroffen (CVE-2021-44857).

Wie wird dies langfristig behoben?
Alle Aktionen außer „view“ („ansehen“) benötigen nun eine explizite „read“-Berechtigung („lesen“). Das ist ähnlich zu Berechtigungsprüfungen in den Action- und REST-APIs. Falls weitere Schwachstellen in Aktionen gefunden werden, so werden sie immerhin nicht von ausgeloggten Benutzern auf privaten Wikis ausnutzbar sein.

Aktionen die auf -Seiten verfügbar sein müssen, können die neue -Funktion implementieren.

Wie kann ich sehen, ob jemand dies auf meinem Wiki ausgenutzt hat?
Durchsuche deine Zugangslogbücher nach  oder. Sofern du nicht eine Erweiterung, die sog. multi-content revisions verwendet, explizit erweitert hast, besteht kein legitimer Nutzen für diese Aktionen.

Suche außerdem nach -Zugriffen und prüfe, ob die Versionsnummern zu einem anderen Titel gehören als dem der Seite, die bearbeitet wird.

Für die Schwachstelle im kommentarlosen Zurücksetzen, suche nach, wo der „from“-Parameter eine Vorlageneinbindung ist (zum Beispiel,  ).

Diese Schwachstelle verursacht keinen Datenverlust, also werden jegliche Schreibzugriffe, die Angreifer verursacht haben, ebenso wie andere Bearbeitungen in der Versionsgeschichte angezeigt.

Ehrung
Das Problem wurde von Dylsss gefunden, vielen Dank für das Auffinden und die Meldung der Schwachstelle. Falls du ein Problem in MediaWiki findest, folge bitte dem Prozess, um Sicherheitslücken zu melden.