【今すぐ更新】WordPress 5.4.1 パーマリンク設定の厳密化により、情報漏洩脆弱性が改善された

WordPress でアップデートがあり、最新版 5.4.1 が公開されました。このリリースにはいくつかの脆弱性改善がありますので、今すぐ更新が必要です。今回はその中の一つ、

Props to ka1n4t for finding an issue where certain private posts can be viewed unauthenticated

を取り上げます。

パーマリンク設定を「年月日時分秒」にしていた人は必ず読みましょう。

何が問題だった?

WordPress5.4以前では、特定の条件で、非公開記事がログインしなくても閲覧できる、という脆弱性がありました。この記事を執筆している時点(2020年5月2日午前8時)では、条件の詳細は公開されていませんが、こちらで検証すると、少なくとも以下の状態だと発生しました。

パーマリンク設定を日時だけにしている(= ID・スラッグなど一意にする項目が無い)
AND
同じ日時で、公開記事と非公開記事を投稿する

パーマリンク設定は、通常は投稿IDやスラッグなどを入れて、記事が一つだけ選ばれるようにするのですが、

/* よくない方法です。この設定にはしないでください。 */
/%year%/%monthnum%/%day/%hour%%minute%%second%/

のように、日時だけでもWordPress5.4以前は動いていました。本来は記事毎に異なるパーマリンクが割り当てられるはずですが、このパーマリンク設定(日時だけの設定)だと、複数の記事に同じパーマリンクが割り当てられる可能性がありました。そして同じパーマリンクが割り当てられた記事の公開設定が異なる場合に、情報漏洩が起こり得ます。

非公開記事はログインしないと閲覧不可 [望ましい状態]

非公開記事。左側はログイン状態。右側は非ログイン状態。

WordPressでは、投稿を非公開に設定できます。ログインしたユーザーだけ閲覧可能な記事を作成できます。この場合、ログインしていない人がその記事を閲覧しようとしても not found となります。

ブラウザ2つをキャプチャした画像の、左側はログイン状態。右側は非ログイン状態です。

これが、望ましい状態です。

パーマリンク設定が日時だけの場合、望ましい状態にならないことがある

では、「パーマリンク設定を日時だけにする」「同じ日時で、公開記事(投稿A)と非公開記事(投稿B)を投稿する」場合を調べてみます。

この場合は、「投稿Aは非ログインでも見える、投稿Bは非ログインだと見えない」が本来は期待されています。

実際に試してみました。
公開記事と非公開記事。左側はログイン状態。右側は非ログイン状態。
  1. 投稿AのURLを見に行くと投稿Aの内容を閲覧できる
  2. パーマリンク設定が日時だけなので、投稿Aも投稿Bも同じURL
  3. 投稿B(非公開記事)の内容も閲覧できる

という結果になりました。

キャプチャ画像は、WordPress5.4をローカルにインストールし、無線LANを無効化した状態で撮影しています。

WordPress5.4.1で改善された

この脆弱性に対して、WordPress5.4.1では、日時だけのパーマリンク設定を認めない=パーマリンク仕様を厳密化するにより対処されました。(もちろんドキュメントでは「日時だけのパーマリンク設定をしないように」という説明になっていますが、WordPress5.4では、日時だけのパーマリンク設定でも動作していた。)WordPress5.3.3等、以前のバージョンにもアップデートが行われています。

なので、バージョンアップすれば、この脆弱性には対処できることになります。WordPressフォーラムではバグ報告カテゴリーに「wordpress 5.4.1 からの障害について」が投稿されていますが、バグ・不具合ではなく、仕様厳密化(脆弱性修正)と思われます。

ユーザーが不適切な設定をしたことが主原因であっても、もし情報漏洩が起きたら大事件だから、アップデートで修正されるのは嬉しいですね。

日時だけのパーマリンク設定をしていた場合は設定変更が必要

WordPress5.4.1のバージョンアップでは、日時だけのパーマリンク設定を認めないようになりました。しかし、日時だけのパーマリンク設定をしていた場合に、推奨パーマリンク設定への変更はしないようです。このため、日時だけのパーマリンク設定をしていた場合に、WordPressの管理画面から、パーマリンク設定を変更する必要があります

日時だけのパーマリンク設定から変更しないままだと、許可されていないパーマリンク設定のため、ウェブサイトが正しく表示されなくなります。

まとめ

  • WordPress5.4.1は脆弱性対策アップデート
  • 「日時だけのパーマリンク設定」だと情報漏洩リスクがあり、バージョン5.4.1で改善された
  • 「日時だけのパーマリンク設定」にしていた場合は、アップデート後にパーマリンク設定変更する必要がある
アップデートは自動で行われるけど、パーマリンク設定は自動では変更されないよ。
新着ブログ記事
ウェブ集客

クイズ、計算式など、ホームページ訪問者の興味・関心・満足度を高めるコンテンツを提供する仕組み。一度来てくださった方の再訪問率を高める。

濃い見込み客を見つけるホームページ自動見積もりシステム

自動見積計算と見積PDF作成を行うサービスです。濃い見込み客を抽出する仕組みで、御社のホームページを営業マンにします。

否定で終わらないウェブメディア

弊社運営のウェブメディアでは、否定レビューで終わらない仕組みを導入しています。