2021-12 veiligheid release/FAQ

This page is a translated version of the page 2021-12 security release/FAQ and the translation is 100% complete.

Er zijn in MediaWiki kwetsbare punten gevonden die het een kwaadwillende mogelijk maken om de pagina-inhoud van private wiki's bekend te maken en de wijzigingsrechten te omzeilen. De belangrijkste vector voor deze wiki-leak gebruik kwetsbare acties op pagina's die in $wgWhitelistRead vermeld staan en daarom publiekelijk zijn. MediaWiki maakt nu standaard alleen de actie "view" beschikbaar voor pagina's in $wgWhitelistRead . De problemen zijn opgelost in 1.35.5, 1.36.3, en 1.37.1, zie de announcement voor links naar tarballs en patches.

Wat zijn de problemen?

  • CVE-2021-44858: Met de mogelijkheid om zaken ongedaan te maken (action=edit&undo=##&undoafter=###) kan iemand de inhoud van revisies bekijken, zonder daarvoor de rechten te hebben. Dit kan ook via de acties "mcrundo" en "mcrrestore" (action=mcrundo en action=mcrrestore).
  • CVE-2021-45038: De "rollback" functie (action=rollback) kan een extra parameter krijgen waardoor iemand zonder rechten daartoe de inhoud van willekeurige pagina's kan bekijken.
  • CVE-2021-44857: De acties "mcrundo" en "mcrrestore" (action=mcrundo en action=mcrrestore) controleerden de wijzigingsrechten niet goed, waardoor iemand de inhoud van een willekeurige revisie als welke pagina dan ook kon opslaan. Dit zowel voor publieke wiki's als publieke pagina's op private wiki's.

Ik heb even geen tijd voor de patch, hoe schakel ik dit uit?

Voeg het volgende toe aan uw LocalSettings.php:

$wgActions['mcrundo'] = false;
$wgActions['mcrrestore'] = false;

Als uw wiki alleen te lezen is na inloggen (privaat) dan moet u ook instellen:

$wgWhitelistRead = [];
$wgWhitelistReadRegexp = [];

Het zou de kwetsbare code helemaal moeten uitschakelen. Deze wijzigingen werken ook voor kwetsbare end-of-life MediaWiki versies waar geen correctie voor beschikbaar is.

Als u $wgWhitelistRead gebruikt op uitgelogde gebruikers de hoofdpagina te laten zien met een helptekst, dan zou u die tekst moeten verplaatsen naar het bericht op de MediaWiki:Loginreqpagetext, die wordt getoond bij de melding inloggen is verplicht.

Is dit op mijn wiki gebeurd?

Als u een extensie als Lockdown of Whitelist Pages gebruikt om enkele pagina's niet leesbaar te maken voor sommige gebruikers, dan is uw wiki mogelijk aangevallen.

Welke versies zijn kwetsbaar?

Alle MediaWiki versies vanaf 1.23.0 tot 1.34.x, 1.35.x, 1.36.x, 1.37.x voor de aanpassing (lees bovenin) zijn kwetsbaar voor de private wiki leesrechten bypasses (CVE-2021-44858, CVE-2021-45038).

Alle MediaWiki versies vanaf 1.32.0 tot 1.34.x, 1.35.x, 1.36.x, 1.37.x voor de aanpassing (lees bovenin) zijn kwetsbaar voor de bijwerkrechten bypass. (CVE-2021-44857).

Hoe wordt dit uiteindelijk opgelost?

Alle acties behalve "view" vereisen nu een expliciet gebruikersrecht "read". Dit is vergelijkbaar met het controleren van rechten zoals gedaan in Action en REST API's. Als er meer kwetsbaarheden worden gevonden in acties, dan zijn die in ieder geval niet beschikbaar voor uitgelogde gebruikers op private wiki's.

Actie die bruikbaar moeten zijn op $wgWhitelistRead pagina's kunnen de nieuwe Action::needsReadRight() functie buiten spel zetten (override).

Hoe kan ik zien of iemand het op mijn wiki heeft gebruikt?

Zoek op action=mcrundo en action=mcrrestore in uw toegangslogs. Tenzij u een extensie ingeschakeld heeft die multi-content revisies gebruikt, is het gebruik van deze acties niet nodig.

Zoek, als aanvulling, op action=edit&undo=###&undoafter=### verzoeken en controleer of de ID van de revisie behoort tot een andere titel dan de pagina die gewijzigd wordt.

Voor de bug met de rollback, zoek naar action=rollback&from=... waar de parameter "from" een sjabloon transclusie is (bijvoorbeeld, from={{:private page}}).

Door deze bug gaan geen gegevens verloren, de schrijfacties van de kwaadwillende (als die er al zijn) staan in de geschiedenis van de pagina, net zoals alle andere wijzigingen.

Bedanken

Het probleem is gevonden door Dylsss, iedereen bedankt die problemen gevonden en gemeld hebben. Als je een bug vindt in MediaWiki, a.u.b. melden.