WordPress脆弱性 、対処するも白画面そして解決 

WordPress脆弱性はプラグインでの新たな情報が出ていますが、本体とこのサイトで使用しているプラグインについての新たな情報はありませんでした。代わりといっては何ですがWordPress5.2.1の修正内容をチェックしました。重要な修正の内容は5.2で作りこまれたバグの修正でしたが、他の修正内容も確認しました。

5件は作りこみバージョンの情報がないもので、6件はWordPress5.1.1以前が作りこみバージョンのもの、それ以外はWordPress5.2で作りこまれたものです。作りこみバージョンがWordPress5.1.1とされた修正で、”jQuery Update 3.4.0”のアップデートがありました。これはWordPressで作りこんだバグではありませんが、jQueryでは”vulnerbility”とされているので、WordPressもこの脆弱性の影響があると判断したほうが良いでしょう。これは、 jQuery 3.4.0で対処された CVE-2019-11358 のことでしょう。ということでWordPress5.1.1も、 jQuery におけるクロスサイトスクリプティングの脆弱性の影響を受けるということなので、コメントを介して攻撃を受ける可能性があると判断し、WordPress5.2.1に更新します。

WordPress5.1.1から5.2.1にアップデートしましたが、 困ったことに 更新処理の途中で失敗し白画面となってしまいました。管理画面も白画面となり対処不能となったので仕方なくバックアップから書き戻していったん復旧しました。 類似の事象がないかチェックしましたがほぼ同じパターンのアップデートが成功していそうな情報がありました。違う条件はPHPのバージョンでした。そこで、PHP5.6をPHP7.2に上げて再度確認しましたが、アップグレード途中で失敗し白画面(500エラー)になる問題が再発しました。5.2.2で対処されることを期待して5.2.2を待とうかと思いましたが、うまくアップロードができている事例があるので、ログとかを見て調査することにしました。

まず、画面内容を再確認。

wordpress-5.2.1.zip から更新をダウンロード中…
更新を展開しています…
展開したファイルをチェックしています…
最新版をインストールする準備をしています…
メンテナンスモードを有効にします…
必要なファイルをコピーしています…
メンテナンスモードを無効にします…
更新が必要な翻訳が一部あります。更新が終わるまでしばらくお持ちください。WordPress (ja) の翻訳を更新しています…
翻訳が正常に更新されました。
ファイルをコピーできませんでした。: wp-admin/site-health.php
インストール失敗
WordPress のご利用ありがとうございます。 バージョン 5.1.1

インストール前の状態で、” site-health.php ”のファイルは存在しないので、ファイルを書き込み出来ていないのが原因でしょう。 wp-admin/ のフォルダの書き込み権限がないのでそれが原因でしょう。セキュリティ強化としてこのフォルダの書き込み権限を落としていました。書き込み権限を付加して、再度WordPress5.2.1へのアップグレードを行うことでアップグレードに成功しました。 アップグレード後は ” site-health.php ”などのファイル が作成されていました。書き込み権限を落として作業完了しました。

WordPress5.2.2については次回チェックします。5.1からのバグの修正があります。現時点では優先度はいずれもNormalなので近く公開されようとしている理由となっている修正はこの一覧にはないのかもしれません。

WordPress投稿のパスワードって何? まとめ

まるめると「投稿ごとにパスワード設定可能なユーザIDが共通のフォーム認証」ということです。Webエンジニアならこの表現で大体の挙動は理解できると思います。

Web技術的な表現で書くと、次の通りです。
・WordPressで共通のポストデータでパスワードを指定する ユーザIDの指定がない フォーム認証。

サイトで固定のクッキーを使っているのか、それともページごとに指定するクッキーで指定するのかと推測しましたが、パスワードをWordPress固定のポストデータで指定して、WordPressのクッキーでセッション維持をしていました。

これにより次の動作をします。ある投稿のパスワード入力フォームに別の投稿用のパスワードを入力すると、パスワードを入力した投稿は参照できないが、パスワードが一致した投稿は参照できるようになる。また、ある投稿Aを参照できる状態で、別の投稿Bを参照するためのパスワードを入力すると投稿Bは参照可能となると同時に投稿Aは参照できない状態に変わります。

結局、この機能、どこかで投稿参照用のパスワードを利用者に渡して参照可能にするというものでしょう。 実際に使っているというか、有効に使えているところがあるのでしょうか。

WordPress 投稿の非公開ってどう使う?

この機能って、公開、非公開をあとで切り替える機能ってこと? つまり、主な目的は公開済みのものを後で削除ではなく非公開に切り替えるということ? 見せないようにするのに削除するのではなくスイッチを切り替えて見せないようにする。証拠保存が目的でしょうか?  

非公開にすればタイトルさえ表示されなくなる。

機能名が、なんか変。 つまり「公開する」なのに「非公開」ってなっている点です。日本語に翻訳したところで変なことになっているのか?

やっぱり読み通りでした。英語だと、

「公開する」→Published
「非公開」→Private
です。

「私的:Private(プライベート)」の反対語は 「公的:public(パブリック)」なので、英語だと違和感がありません。 Privateを日本語に翻訳するときに”非公開”としたことで、機能名的な違和感が発生したわけです。