Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-85097 — CVE-2026-85097 の検出・検証・インシデント対応ツールキット: リモート Bricksforge 評価、ログ IOC ハンティング、ファイルシステムインプラント監査、さらに Sigma および WAF ルールを提供。 | Kitploit
ツール/GitHubGitHub/masriyan/cve-2026-85097
防御ツール侵害指標 (IOC) 管理脆弱性スキャナーウェブ脆弱性スキャナーエクスプロイトウェブセキュリティデジタルフォレンジックペネトレーションテストインシデントレスポンスログ分析
GitHubmasriyan/cve-2026-85097

CVE-2026-85097

123日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-85097 の検出・検証・インシデント対応ツールキット: リモート Bricksforge 評価、ログ IOC ハンティング、ファイルシステムインプラント監査、さらに Sigma および WAF ルールを提供。

リポジトリを見る

BricksforgeChecker: CVE-2026-85097

Bricksforge WordPress プラグインにおける未認証の任意ファイルアップロード → RCE

CVE-2026-85097 の検出、検証、インシデント対応ツールキットです。これは WordPress 用の Bricksforge プラグインに存在する CVSS 10.0 の未認証任意ファイルアップロード脆弱性であり、実際に野外で悪用されています。

1つのスクリプト、3つのモード: 対象のリモート評価、悪用の痕跡を求めた過去ログの調査、そして設置されたインプラントを求めた Web ルートの監査。

 ____       _ _    _    __                  ___      _    _
| __ ) _ __(_) | _| | __/ _| ___  _ __ __ _ / _ \ ___| | _| | ___  _ __
|  _ \| '__| | |/ / |/ / |_ / _ \| '__/ _` | | | / __| |/ / |/ _ \| '_ \
| |_) | |  | |   <|   <|  _| (_) | | | (_| | |_| \__ \   <| | (_) | | | |
|____/|_|  |_|_|\_\_|\_\_|  \___/|_|  \__, |\___/|___/_|\_\_|\___/|_| |_|
                                      |___/
   CVE-2026-85097  |  Unauthenticated Arbitrary File Upload -> RCE
   CVSS 10.0 CRITICAL  |  Bricksforge <= 3.1.8.9  |  Fixed 3.1.8.10

アドバイザリの概要

項目値
CVECVE-2026-85097
製品Bricksforge(WordPress プラグイン、Bricks Builder 用アドオン)
種類未認証の任意ファイルアップロード → リモートコード実行
CWECWE-434: 危険な種類のファイルの無制限アップロード
CVSS10.0 クリティカル: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H (ベクターは推定、制限事項を参照)
認証不要
影響を受けるバージョン<= 3.1.8.9
修正済み3.1.8.10(報道で言及されたベンダーのリリース系列: 4.0.1)
悪用状況実際の攻撃で活発に悪用中
初回観測2026-10-07 21:47:17 UTC
インストール数約6,000
観測された送信元 IP63 個のユニーク IP(上位 6 件でリクエストの約 46%)
主要エンドポイントPOST /wp-json/bricksforge/v1/form_submit
フォールバックエンドポイントPOST /wp-admin/admin-ajax.php(action=bricksforge_form_submit)
インプラントの命名login_admin_*.php

[!CAUTION] 許可された用途に限ります。 本ツールは、許可されたセキュリティ評価、防御的 検証、およびインシデント対応のためのものです。所有していない、または書面による 許可を得ていないシステムに対して能動的なテストを実行することは、ほとんどの法域で 違法です。 SAFETY-AND-LEGAL.md を参照してください。


目次

  • この CVE が重要な理由
  • 脆弱性の仕組み
  • インストール
  • クイックスタート
  • 3 つのモード
    • scan: リモート評価
    • hunt: オフラインログ IOC ハンティング
    • audit: ファイルシステムの侵害後監査
  • 検知コンテンツ(Sigma + ModSecurity)
  • レポートと出力形式
  • 判定階層と終了コード
  • アクティブ PoC の安全モデル
  • ローカルのモックターゲットに対するテスト
  • 検証結果
  • キャンペーンインテリジェンス
  • 修復
  • 制限事項
  • プロジェクト構成
  • 参考文献
  • クレジットとライセンス

この CVE が重要な理由

Bricksforge は Bricks Builder に高度なフォーム、 アニメーション、動的データを追加します。その Pro Forms 機能はファイルアップロードを 受け付けます。このプラグインは、ファイルが最初にアップロードされた時点では MIME タイプを正しく検証しますが、フォームが後で送信された時点では、クライアントが 送信するファイルメタデータを信頼し、temporaryFileUploads パラメータ内の url フィールドを一切検証しません。

この単一の検証漏れが、無害な画像アップロードを未認証のリモートコード実行に 変えてしまいます。攻撃者にはアカウントも、自身で生成できない CSRF トークンも、 ユーザーの操作も必要ありません。Patchstack は、2026-10-07 21:47:17 UTC から データセンター、クラウド、VPN、住宅回線のインフラにまたがる 63 個のユニークな 送信元 IP からの悪用を観測しました。


脆弱性の仕組み

根本原因

file(MIME チェックが行われたサーバー側のパス)と url(プラグインが書き込み先と する宛先)が分離されています。プラグインは送信時にクライアントが提供した url を再読み込みし、ステージングされたバイト列をそこへ書き込みます。

{
  "temporaryFileUploads": [
    {
      "field": "form-field-file",
      "file": {
        "file": "/var/www/example.com/wp-content/uploads/bricksforge/tmp/img_example.gif",
        "url":  "https://example.com/wp-content/uploads/bricksforge/tmp/img_example.php",
        "type": "image/gif"
      }
    }
  ]
}

シグネチャは不一致である: サーバー側のパスは .gif であり、宛先URLは .php である。キャプチャされたリクエストの95%で、サーバー側のパスは .gif または .png で終わっていた。

関与するソースファイル

ファイル役割
wp-content/plugins/bricksforge/includes/elements/pro-forms/actions/init.phpインジェクションポイント: クライアントから供給されたメタデータ(url を含む)が検証なしでフォームアクションのコンテキストにマージされる。
wp-content/plugins/bricksforge/includes/elements/pro-forms/actions/base.phpシンク: 信頼されたメタデータが最終的なファイル書き込みを制御するため、攻撃者がディスク上の宛先ファイル名と拡張子を制御できる。

攻撃チェーン

#ステップ観測可能な事象
1未認証のnonceを取得: action=bricksforge_regenerate_nonce を指定して POST /wp-admin/admin-ajax.php を送信。認証は不要で、有効なnonceが返される。action=bricksforge_regenerate_nonce を含む admin-ajax.php リクエスト
2GIF/PHPポリグロットをアップロード: PHPコードも含む有効な画像。ここではMIME検証が実施されるため、検証を通過して wp-content/uploads/bricksforge/tmp/ に配置される。/wp-content/uploads/bricksforge/tmp/ に書き込むマルチパートアップロード
3不一致なメタデータでフォームを送信: file は検証済みの .gif を指し、url は .php で終わる。temporaryFileUploads を含む form_submit リクエスト
4プラグインが内容をPHPの場所に書き込む → RCE。 そのURLをリクエストすると埋め込まれたコードが実行される: Webシェル、コンテンツ改ざん、データ窃取、永続化。アップロードディレクトリ配下に新規作成された .php ファイルへのHTTP GET

観測されたペイロードのバリエーション

攻撃者は拡張子フィルタを回避する方法を積極的に探っている。4つの系統がある:

系統サンプル意図
代替PHP拡張子.php .php5 .php7 .php8 .phtml .pht .phtm .phpsフィルタがブロックしない名前でPHPハンドラに到達する
大文字小文字の操作.PHP .Php .pHp .PHTML大文字小文字を区別するブラックリストを回避する。Windowsや一部のApache設定では大文字小文字を区別せずに解決される
エンコードされた拡張子%2ephp .%70hp .%2570%2568%2570URLデコード前に検査するフィルタをすり抜けて拡張子を密輸する
改変されたメタデータpath、name、originalFilename、url の改変または欠落プラグインが実際に検証するフィールドを特定する

このツールは最初の3系統の全18バリエーションを検出する(検証結果を参照)。


インストール

Python 3.9+ が必要。依存関係は2つだけで、いずれも一般的なものである。

git clone https://github.com/Masriyan/CVE-2026-85097.git
cd CVE-2026-85097

python3 -m venv .venv && source .venv/bin/activate   # optional but recommended
pip install -r requirements.txt

chmod +x bricksforge_checker.py
./bricksforge_checker.py --version

rich はオプションであり、これがなくてもツールはプレーンな ANSI 出力にフォールバックし、ベアホスト上でも動作します。

実行を信頼する前に、検出プリミティブを検証してください:

./bricksforge_checker.py --self-test      # 60/60 offline checks

クイックスタート

# 1. Read the full intelligence briefing (no network, no target needed)
./bricksforge_checker.py --info

# 2. Passive remote assessment -- Tier 1 + Tier 2, no state change on the target
./bricksforge_checker.py -u https://example.com

# 3. Hunt historical logs for exploitation
./bricksforge_checker.py --mode hunt --logs /var/log/apache2/access.log*

# 4. Audit a web root for dropped implants
./bricksforge_checker.py --mode audit --path /var/www/html --deep-webshell

# 5. Ship detection content to your SIEM / WAF
./bricksforge_checker.py --sigma
./bricksforge_checker.py --waf

3つのモード

モード1: scan(リモート評価)

段階的にエスカレートする3つのティア。ティア1とティア2は読み取り専用です。ティア2は temporaryFileUploads パラメータを一切送信しません。

ティア1: パッシブフィンガープリント(状態変化なし)

チェック取得元
WordPressコアの検出wp-content / wp-includes / generator メタ
プラグインバージョンreadme.txt の Stable tag:、bricksforge.php の Version: ヘッダー、changelog.txt、CHANGELOG.md
アセットバージョンホームページ + 3つの内部ページからスクレイピングした wp-content/plugins/bricksforge/* アセットの ?ver=
有効プラグインの確認/wp-json/ ルートインデックス内の bricksforge/v1 名前空間
依存関係Bricks Builderテーマの style.css

[!IMPORTANT] バージョン比較はセグメントごとの整数タプルで行われ、辞書順では決して行われません。 文字列として比較すると "3.1.8.10" < "3.1.8.9" は True となり、素朴な実装では パッチ適用済みのすべてのインストールを脆弱と報告してしまいます。これは --self-test でカバーされています。

ティア2: エンドポイントプローブ(読み取り専用)

プローブ解釈
空のボディで POST /wp-json/bricksforge/v1/form_submit404 = ルート未登録。それ以外 = ハンドラーが存在
POST admin-ajax.php action=bricksforge_form_submitハンドラーがフックされていない場合、WordPressは素の 0 を返します。-1/JSON/HTML = ハンドラーが実行された
POST admin-ajax.php action=bricksforge_regenerate_noncenonceを返す → 攻撃チェーンのステップ1を確認
GET /wp-content/uploads/bricksforge/tmp/200 + リスティング = ステージングディレクトリが公開で列挙可能
ツールをダウンロード