WordPress の危険な脆弱性:PHP インジェクションのエクスプロイトに注意

Critical WordPress Vulnerability Patched: Remote Code Execution Possible

2023/12/06 SecurityOnline — 先日の WordPress 6.4.2 アップデートでは、深刻なセキュリティ脆弱性が修正されている。この脆弱性の悪用に成功した攻撃者に対して、対象となる Web サイトの完全な制御が許される可能性があったという。この脆弱性は WordPress Core に存在するものであるが、その原因となるのは、PHP のオブジェクト・インジェクションである。

そして、このオブジェクト・インジェクションの脆弱性を容易に悪用するための、エクスプロイト・チェーンがリリースされたことで、いまの状況が問題視され始めている。このエクスプロイト・チェーンにより、影響を受ける Web サイト上で、攻撃者は任意のコード実行が可能になり、データ窃取/サイト改竄/マルウェア展開などにいたる恐れが生じているという。


WordPress セキュリティ・チームは、「このリモート・コード実行の脆弱性を、Core に対してダイレクトに悪用することはできない。しかし、とりわけマルチサイト・インストールにおいて、いくつかのプラグインと組み合わせると、深刻度が高くなる可能性があると捉えている」と述べている。

脆弱性の詳細

この脆弱性は、WordPress 6.4 で導入された、ブロック・エディタにおける HTML 解析を改善する機能に起因している。この機能には WP_HTML_Token クラスが関係しており、PHP がリクエストを処理した後に自動的に実行される __destruct メソッドが、そこには含まれていた。このメソッドは関数と引数を受け付けるものであるが、既存のオブジェクト・インジェクションの脆弱性を介して、攻撃者に制御される可能性を生み出していた。

public function __destruct() {
    if ( is_callable( $this->on_destroy ) ) {
        call_user_func( $this->on_destroy, $this->bookmark_name );
        }
}

この脆弱性の悪用に成功した撃者は、Web サイト上で任意のコードを実行する能力を持つため、実質的には完全に制御を得ることになる。

研究者たちは、「このオブジェクト・インジェクションの脆弱性を悪用する攻撃者は、on_destroy/bookmark_name プロパティを完全に制御できる。したがって、それらを悪用してサイト上で任意のコードを実行し、完全な制御を容易に得られる」と指摘している。

Wordfence のセキュリティ・チームは、「現時点において、このオブジェクト・インジェクションの脆弱性は、WordPress Coreには存在していないが、他のプラグインやテーマは、その限りではない。WordPress Core に対して簡単に悪用できる POP チェーンが存在しているため、このオブジェクト・インジェクションの脆弱性の危険度が高まっている」と説明している。

パッチとその理由

この脆弱性に対するパッチは、WP_HTML_Token クラスに新しい__wakeup メソッドを追加するという、シンプルかつ効果的なものである。このメソッドは、対象となるクラスでシリアライズされたオブジェクトがエラーをスローし、悪意の __destruct関数の実行を阻止するものである。

public function __wakeup() {
   throw new \LogicException( __CLASS__ . ' should never be unserialized' );
}

WordPress Core 自体には、現時点でオブジェクト・インジェクションの脆弱性は存在しないが、多数くのプラグインやテーマには存在していると考えるべきだ。それらの脆弱性が、WordPress Core に対して容易に悪用される脆弱性があるため、危険度が大幅に増幅されている。

何をすべきか

すべての WordPress ユーザーに対して推奨されるのは、バージョン 6.4/6.4.1 を使用している状況であっても、直ちにバージョン 6.4.2 へとアップデートするだ。このアップデートにより、ユーザー組織の Web サイトは、この危険な脆弱性から保護される。

さらに、すべてのプラグインとテーマを最新の状態に保ち、Web サイトにおける脆弱性の兆候を定期的にスキャンすることも極めて重要である。これらの追加的な予防策により、Web サイトのセキュリティ態勢をさらに強化され、サイバー攻撃のリスクが最小限に抑えられる。