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

2024年8月15日
Bricks Builder WordPress テーマの脆弱性

コンテンツ

CDNetworksを無料でお試しください

当社のほとんど全ての製品に、14 日間の無料試用版があります。登録時、クレジットカードは必要ありません。

この投稿を共有

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 を定義します。

レンガ WordPress 脆弱性_01

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

レンガ WordPress 脆弱性_02

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

レンガ WordPress 脆弱性_03

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

レンガWordPressの脆弱性_14

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

レンガ WordPress 脆弱性_04

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

レンガ WordPress 脆弱性_05

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

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

レンガ WordPress 脆弱性_06

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

レンガ WordPress 脆弱性_07

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

レンガ WordPress 脆弱性_08

レンガ WordPress 脆弱性_09

レンガWordPressの脆弱性_10

脆弱性の再現

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

レンガWordPressの脆弱性_11

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

レンガWordPressの脆弱性_12

影響を受ける資産

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

レンガWordPressの脆弱性_13

緩和戦略

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

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

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

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

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

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

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

もっと詳しく知る

HTTP ヘッダーの最適化
CDN

CDNetworks が HTTP ヘッダーを最適化する方法

HTTPヘッダーはHTTPリクエストとレスポンスで送信されるキーと値のペアであり、クライアントとサーバー間の通信に関する重要な情報を提供します。コンテンツタイプ、エンコーディング、キャッシュ制御、認証などの詳細が含まれます。

続きを読む >>