Bricks Builder WordPress テーマ: 重大なリモート コード実行の脆弱性 (CVE-2024-25600)

最終更新日 2024年8月15日
Bricks-Builder-WordPress-Theme-Vulnerability.jpg

Bricks Builder は、WordPress 用の強力なテーマ編集プラグインです。最近、CDNetworks Security Lab は、WordPress バージョン 1.9.6 より前のデフォルト設定にリモート コード実行の脆弱性を発見しました。この脆弱性により、ユーザーは権限チェックをバイパスしてリモート コードを実行し、サーバー レベルの権限を付与することができます。

残念ながら、この脆弱性を悪用するのは簡単で、その影響は広範囲にわたります。企業や組織は、WordPress のバージョンを確認し、関連する脆弱性に対処するか、この脆弱性の悪用を防ぐために Web 保護ソリューションを実装することをお勧めします。

脆弱性分析

公開されている脆弱性の概要と概念実証 (PoC) を確認した後、/bricks/v1/render_element ルートのグローバルな場所を特定しました。この REST API ルートは bricks/includes/api.php ファイルに登録されており、リクエスト メソッド、コールバック関数 render_element、および権限チェック コールバック関数 render_element_permissions_check を定義します。

bricks-wordpress-vulnerability_01.png

動的なデバッグとさらなる分析のために、ソース コードにブレークポイントを設定します。サーバーがリクエストを受信すると、最初に権限チェック コールバック関数を呼び出します。

bricks-wordpress-vulnerability_02-1024x472.jpg

パス bricks/includes/api.php をたどると、権限チェック コールバック関数 render_element_permissions_check が nonce 値に基づいて権限検証を実行していることがわかります。

bricks-wordpress-vulnerability_03-1024x254.jpg

「Bricks」ソフトウェアでは、有効な nonce がフロントエンドに含まれています。WordPress ホームページを更新すると、フロントエンドのソースコードで nonce がグローバルに見つかります。つまり、権限チェックのコールバック関数は完全に無効になり、権限のないユーザーがこの API で操作を実行できるようになります。

bricks-wordpress-vulnerability_14.png

フロントエンドから抽出された nonce 値を検証した後、コールバック関数 render_element に進みます。この関数内で、Ajax::render_element 関数が呼び出され、リクエスト本文からパラメータが渡されます。

bricks-wordpress-vulnerability_04.png

次に、bricks/includes/ajax.phprender_element 関数に従います。この関数では、Element_Code クラスが主にパラメータに基づいて配置され、インスタンス化されます。

bricks-wordpress-vulnerability_05.png

インスタンス化後、init() 関数が呼び出されます。

次に、この関数を bricks/includes/elements/base.php に追加します。

bricks-wordpress-vulnerability_06.png

このファイルでは、this->render() 関数に注目してください。次に、bricks/includes/elements/code.php に移動します。危険な関数呼び出しのチェックの後、例外処理内で eval 関数が使用され、構成からユーザーが送信したコードが実行されていることがわかります。この場合、コードパラメータはユーザーによって制御されます。

bricks-wordpress-vulnerability_07-1024x542.jpg

最後に、コード実行の結果が現在のバッファの内容から取得され、その後、コールバックを通じてリクエストが段階的に完了します。

bricks-wordpress-vulnerability_08-1024x331.jpg bricks-wordpress-vulnerability_09-1024x213.jpg bricks-wordpress-vulnerability_10.png

脆弱性の再現

WordPress 6.4.3 + Bricks Builder 1.9.4 を使用してローカルにセットアップします。WordPress ホームページでソース コードを表示し、nonce の値をグローバル検索します。

bricks-wordpress-vulnerability_11.png

BurpSuiteを使用してリクエストを作成します http://127.0.0.1/wordpress/?rest_route=/bricks/v1/render_element そして、POST リクエスト経由で次のデータを送信し、コマンド「python –version」を実行します。返される結果で、現在のホストの Python バージョンを正常に確認できます。

bricks-wordpress-vulnerability_12.png

影響を受ける資産

Fofa には 25,000 を超える関連アセットがあります。Fofa クエリ: body=”/wp-content/themes/bricks/”

bricks-wordpress-vulnerability_13.png

緩和戦略

この脆弱性に対処するには:

  1. WordPress Bricks Builder テーマを最新バージョンに更新します。
  2. 権限チェック コールバック関数の認証に nonce 値に依存しないようにしてください。
  3. 不正アクセスやコード実行を防ぐために、ユーザーが送信したすべての入力が厳密な検証とフィルタリングを受けるようにします。

脆弱性の最小化: CDNetworks のクラウド セキュリティ 2.0

CDNetworksのクラウドWAF この脆弱性の悪用に対して即時の保護を提供します。他のさまざまな攻撃方法やさまざまなコンポーネントの脆弱性を継続的に調査および分析し、保護ルールを迅速に展開して、企業の「脆弱性の窓」を最小限に抑えます。

CDNetworksは先月、クラウドセキュリティソリューションをアップグレードしました。クラウドセキュリティ 2.0 WAF のいくつかの主要な機能を紹介します。

  • 組み込みルールセット: 0-day/N-day 攻撃および OWASP Top 10 攻撃に対応する 1,000 を超えるルールセット。
  • インテリジェント分析 (セルフチューニング): AI によるユーザー行動の学習により、ルールの例外を自動的に生成し、誤検知を減らします。
  • ゼロデイ攻撃に対する仮想パッチ: 脆弱性を継続的に監視し、1 時間ごとに新しいルールを生成します。
  • AI テクノロジーによる管理保護モード: 脅威の検出と対応が強化されます。
  • スケーラビリティと導入の容易さ: 簡単に導入でき、オンデマンドで拡張できます。

CDNetworks は、これらの機能を統合することで、APAC 地域の企業の進化するセキュリティ ニーズに応え、競争の激しい市場において組織が保護された状態を維持できるようにすることを目指しています。

CDNetworksを無料で試す

ほとんどの製品は14日間の無料トライアルがあります。クレジットカードは不要です。

さらに探検する

その他

CDNetworks エッジアプリケーションでサーバーレスコンピューティングのパワーを解き放つ

CDNetworksのサーバーレスエッジコンピューティングソリューション「Edge Application」のご紹介。その仕組み、主なメリット、そして実際のユースケースをご紹介します。

もっと読む »
クラウドセキュリティ

CDNetworks、1.24 Tbps の大規模 DDoS 攻撃からブラウザ ゲーム プラットフォームを防御

2024年10月24日、CDNetworksは東南アジアの大規模なユーザーベースを持つブラウザゲームプラットフォームを標的とした大規模なDDoS攻撃の緩和に成功しました。この攻撃はネットワーク層で1.24Tbpsに達し、アプリケーション層では数百万QPSを超えました。

もっと読む »