WordPress4.9.3 がリリースされたが翌日にWordPress4.9.4がリリースされた理由

どーも、休みの日はモンスターハンターワールドしかしてないヨシダです。

下の画像を見てわかりますように、2018/02/05にWordPress4.9.3がメンテナンスリリースされ、翌日の2018/02/06にWordPress4.9.4がメンテナンスリリースされました。

しかし、僕のWordPressで作ったサイトの自動更新通知が1つしか来ませんでした。なんでやねん。

どちらもメンテナンスリリースなので、すぐにWordPress本体をアップデートしなくても、セキュリティ的には特に問題ないだろうと思っていたのですが、2日連続でのアップデートなんて珍しいし、自動更新通知が1つしか来なかったことも気になったので調べてみることにしました。

まずWordPress4.9.3のメンテナンスリリースに関して公式のページを見てみると、Customizerチェンジセット、ウィジェット、ビジュアルエディタ、およびPHP 7.2との互換性に関する修正を含む、WordPress4.9の34個のバグが修正されていると書かれておりました。セキュリティアップデートではないので、特に脆弱性が見つかったわけではないみたいです。その34個の修正一覧がこちらになります。

そして、次にWordPress4.9.4のメンテナンスリリースに関して公式のページを確認してみると、修正されたバグは1つだけでした。僕はこの時点で(あ、これバージョン4.9.3でバグを修正した際に何か間違えたコード修正をしてしまったんだろな)と察しましたね。案の定、内容をよく読んでみると、どうやらWordPressサイトが次のバージョンに自動更新しないというバグがあったみたいです。

確かに僕のサイトも自動更新設定をしているのに、4.9.3のままで更新されていませんでした。当然ですが、4.9.3は自動更新が実行されないため4.9.4へは自動更新されません。そういうわけで、4.9.3に既に更新されているサイトは管理画面にログインして更新ボタンをクリックする必要があります。僕も、ちゃんと自分の手で本体のバージョンを4.9.4に更新しました。

原因はWordPress4.9.3のwp-includes/update.phpにある以下のコードが自動更新を邪魔したみたいです。

<?php
        // Trigger background updates if running non-interactively, and we weren't called from the update handler.
        if ( $doing_cron && $has_auto_update && ! doing_action( 'wp_maybe_auto_update' ) ) {
                include_once( ABSPATH . '/wp-admin/includes/update.php' );

                // Only trigger background updates if an acceptable autoupdate is on offer, avoids needless extra API calls.
                if ( find_core_auto_update() ) {
                        do_action( 'wp_maybe_auto_update' );
                }
        }

これは自動更新のAPIコールを減らそうとして追加した条件分岐なのですが、使用可能な「WP core updates」がきた時だけ、自動更新するという意味になってしまい、テーマやプラグインの更新について考慮されてなく、関数が動かなくなってしまいました。4.9.4では上記の

if   find_core_auto_update ()  { 
                        do_action  'wp_maybe_auto_update'  ); 
                } 

の部分を削除して、4.9.3より前の状態に戻す修正がされています。

正直、こんな重大なバグに気づかないWordPressの公式もどうかと思いますよね。
しかも修正方法が、以前の状態に戻すという…

現在WordPress4.9.3を使用されている方は、もし脆弱性が見つかっても自動更新されないので、今すぐ手動で4.9.4へ更新することをおすすめします。
ありがとうございました。

LINEで送る
Pocket

こんな記事も読まれています