「LiteSpeed Cache」プラグインで発見された脆弱性について

2024.08.23

OVERVIEW

2024年8月19日、Wordfenceの脅威インテリジェンスチームが、WordPressの「LiteSpeed Cache」プラグインに重大な脆弱性が存在することを発見しました。
この脆弱性は、未認証の攻撃者が管理者権限を持つユーザーとして登録できるというもので、WordPressサイトの乗っ取りリスクをもたらします。
この問題は、バージョン6.4.1で修正されており、影響を受けるバージョンを使用しているユーザーには迅速なアップデートが推奨されています。

LiteSpeed Cacheプラグインとは

「LiteSpeed Cache」プラグインは、WordPressサイトのキャッシュ機能を提供し、サイトのパフォーマンスを向上させるために広く使用されているプラグインです。
このプラグインは、5,000,000以上のサイトにインストールされており、ページのキャッシュや最適化機能を提供することで、ページ読み込み速度を向上させることができます。

問題の詳細

今回の脆弱性は、「LiteSpeed Cache」プラグインの6.3.0.1以前のバージョンに存在しており、未認証の攻撃者がユーザーIDを偽装し、管理者権限を取得できる問題です。
この脆弱性は、プラグインのロールシミュレーション機能に関係しており、適切なアクセス制限が行われていなかったために発生しました。
攻撃者は、この機能を利用して管理者としてのアクセスを取得し、新しい管理者アカウントを作成することができます。

影響とリスク

この脆弱性は、サイト全体を乗っ取るリスクを伴い、特に影響を受けるバージョンを使用しているサイトでは深刻な被害をもたらす可能性があります。
管理者権限を持つアカウントが作成されることで、攻撃者はサイト上のあらゆる操作が可能となり、機密情報の漏洩やサイトの改ざん、さらには悪意のあるコンテンツの追加などが行われる危険性があります。

問題の技術的な詳細

今回の脆弱性の中心となる部分は、「async_litespeed_handler」関数と「is_role_simulation」関数です。これらの関数により、未認証のユーザーが管理者としての権限を不正に取得することが可能となります。

以下は、「async_litespeed_handler」関数の一部です:

public static function async_litespeed_handler()
{
$type = Router::verify_type();

self::debug('type=' . $type);

session_write_close();
switch ($type) {
case 'crawler':
Crawler::async_handler();
break;
case 'crawler_force':
Crawler::async_handler(true);
break;
case 'imgoptm':
Img_Optm::async_handler();
break;
case 'imgoptm_force':
Img_Optm::async_handler(true);
break;
default:
}
}

このコードは、認証なしにさまざまな処理を実行できる問題を含んでいます。また、「is_role_simulation」関数は、攻撃者が特定のクッキー値を操作することで、任意のユーザーIDを持つユーザーとして認識される脆弱性を含んでいます。

public function is_role_simulation()
{
if (is_admin()) {
return;
}

if (empty($_COOKIE['litespeed_role']) || empty($_COOKIE['litespeed_hash'])) {
return;
}

$hash = self::get_option(self::ITEM_HASH);
if (!$hash || $_COOKIE['litespeed_hash'] != $hash) {
return;
}

$role_uid = $_COOKIE['litespeed_role'];
wp_set_current_user($role_uid);
}

このコードにより、攻撃者が不正なクッキーを設定することで、管理者権限を持つユーザーとしてシステムにアクセスできるようになります。

予防方法

この脆弱性を防ぐためには、まず「LiteSpeed Cache」プラグインを最新バージョンである6.4.1にアップデートすることが重要です。
また、Wordfence Premium、Wordfence Care、Wordfence Responseを利用している場合は、2024年8月20日以降、この脆弱性を狙った攻撃から保護されるファイアウォールルールが適用されています。
無料版のWordfenceユーザーも、2024年9月19日から同様の保護が適用されます。

もしサイトを乗っ取られてしまったら

万が一、サイトが乗っ取られてしまった場合、すぐに以下の対応を行うことが推奨されます:

  1. サイトの管理者アカウントに不正なユーザーが追加されていないか確認し、必要に応じて削除する。
  2. 全てのユーザーパスワードをリセットし、強力なパスワードに変更する。
  3. サーバーやサイトのログを確認し、攻撃者のアクセスを特定してブロックする。
  4. サイトのバックアップを定期的に取り、安全な状態に復元できるよう準備する。

まとめ

「LiteSpeed Cache」プラグインに存在する今回の脆弱性は、非常に深刻なものであり、サイトの完全な乗っ取りを許す危険性があります。
この脆弱性が発見され、すでに修正パッチが提供されていますので、影響を受けるバージョンを使用している全てのユーザーは速やかにアップデートを行い、セキュリティ対策を強化することが重要です。


参考:Over 5,000,000 Site Owners Affected by Critical Privilege Escalation Vulnerability Patched in LiteSpeed Cache Plugin