2021-12 security release/FAQ/ja

MediaWikiにいくつか脆弱性が見つかりました. 攻撃者がプライベートウィキの内容を盗み取り、編集権限を回避する可能性があります. The main vector for this wiki-leak is using vulnerable actions on pages that are listed in and therefore publicly accessible. MediaWiki では、既定で のページで、「閲覧」操作のみが一般公開されるようになっています. これらの問題は 1.35.5、1.36.3、及び1.37.1 で修正されています. tarball とパッチへのリンクについては、のお知らせ を参照してください.



問題は何ですか？

 * CVE-2021-44858:「元に戻す」機能 により、攻撃者は許可されていないにも関わらず、任意の版の内容を閲覧できました. これは「mcrundo」と「mcrrestore」の操作 (  と  ) でも見つかりました.
 * CVE-2021-45038:「巻き戻し」機能 に特別に細工されたパラメータが渡される可能性があり、攻撃者がアクセス許可を持っているかどうかに関係なく、任意のページのコンテンツを表示できるようになりました.
 * CVE-2021-44857: The "mcrundo" and "mcrrestore" actions ( and  ) did not properly check for editing permissions, and allowed an attacker to take the content of any arbitrary revision and save it on any page of their choosing. This affects both public wikis and public pages on private wikis.

I don't have time to patch, how do I disable this?
Add the following to your LocalSettings.php:

If your wiki is private (requires login to view pages) you will also need to set:

It should fully disable the vulnerable code. These changes will also work for vulnerable end-of-life MediaWiki versions that do not have a patch available.

If you used to allow logged-out users to see the main page with help text, you should instead move that help text to the MediaWiki:Loginreqpagetext message, which is shown on the "login required" error.

Was I affected?

 * If your wiki is public (anyone can read pages): yes
 * If your wiki is private, and or  has at least one page: yes

If you use an extension like or  to make some pages unreadable to some users, you are also likely affected.

What versions are vulnerable?
All MediaWiki versions since 1.23.0 until 1.34.x, and 1.35.x, 1.36.x, 1.37.x before the fixes (see the top section), are vulnerable to the private wiki read permissions bypasses (CVE-2021-44858, CVE-2021-45038).

All MediaWiki versions since 1.32.0 until 1.34.x, and 1.35.x, 1.36.x, 1.37.x before the fixes (see the top section), are vulnerable to the editing permissions bypass (CVE-2021-44857).

How is this being fixed long-term?
All actions except "view" now require an explicit "read" user right. This is similar to permission checks used in the Action and REST APIs. If further vulnerabilities are found in actions, they will at least not be exploitable by logged-out users on private wikis.

Actions that need to be usable on pages can override the new  function.



うちのウィキで誰かにそれを使われたかどうか判別するには？
Look for  or   in your access logs. Unless you specifically enabled an extension that uses multi-content revisions, there is no legitimate use for these actions.

In addition, look for  requests and check whether the revision IDs belong to a different title than the page being edited.

ロルバックのバグの場合は、"from" パラメータをテンプレートの参照読み込みに置き換えた  を探します（例： ）.

このバグに伴うデータ喪失は認識されておらず、攻撃者が書き込みアクションを実行していたとしても、通常の編集と同様、ページの履歴に記録されたはずです.

クレジット
この問題の発見者Dylsssさんには、特定して報告されたご苦労に大いに感謝申し上げます. MediaWiki でバグを発見された場合の手順は、セキュリティバグの報告の方法に目を通してください.