Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-2002-poc — CVE-2026-2002 の writeup と Proof-of-concept | Kitploit
ツール/GitHubGitHub/typedefabcd1234ntd/cve-2026-2002-poc
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ学習と教育
GitHubtypedefabcd1234ntd/cve-2026-2002-poc

CVE-2026-2002-poc

CVE-2026-2002 の writeup と Proof-of-concept

リポジトリを見る
1111ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

概要

WordPress 用プラグイン Forminator Forms – Contact Form, Payment Form & Custom Form Builder は、不十分な入力サニタイズと出力エスケープにより、1.50.2 を含む全バージョンにおいて、form_name パラメータを介した Stored Cross-Site Scripting の脆弱性があります。これにより、管理者レベルのアクセス権を持つ認証済み攻撃者が、任意の Web スクリプトをページに注入し、ユーザーがその注入されたページにアクセスするたびに実行させることが可能になります。このプラグインは、管理者が下位レベルのユーザーにフォーム管理権限を付与することを許可しているため、購読者などのユーザーによっても悪用される可能性があります。

根本原因

根本原因は、ロジックバグに対する認識の繊細さを必要とするものです: (ファイル /fields/html.php 内のこの関数)

root@kitploit:~
public function markup( $field, $views_obj ) {
        $settings = $views_obj->model->settings;

        $html    = '';
        $label   = esc_html( self::get_property( 'field_label', $field ) );
        $id      = self::get_property( 'element_id', $field );
        $form_id = false;

        $html .= '<div class="forminator-field forminator-merge-tags" data-field="' . $id . '">';

        if ( $label ) {

            $html .= sprintf(
                '<label class="forminator-label">%s</label>',
                self::convert_markdown( $label )
            );
        }

            // Check if form_id exist.
        if ( isset( $settings['form_id'] ) ) {
            $form_id = $settings['form_id'];
        }

        // To allow iframes in content.
        add_filter( 'wp_kses_allowed_html', array( 'Forminator_Core', 'add_iframe_to_kses_allowed_html' ) );
        $content = wp_kses_post( self::get_property( 'variations', $field ) );  // root cause here
        remove_filter( 'wp_kses_allowed_html', array( 'Forminator_Core', 'add_iframe_to_kses_allowed_html' ) );

        $html .= forminator_replace_variables(
            $content,
            $form_id
        );

        $html .= '</div>';

        return $html;
    }

このコードは、低権限ユーザーからの XSS を防ぐためにサニタイズ関数(wp_kses_post)を使用していますが、問題は変数を置換する前にサニタイズしていることです。その結果、適切な権限を持つ攻撃者は、有効な HTML タグを使用して wp_kses_post をバイパスし、XSS をトリガーするために JavaScript ペイロードを変数に注入することができます。

概念実証

Edit Form 権限を持つ攻撃者は、HTML フィールドに次のような HTML を挿入できます

root@kitploit:~

そして、form_name を次のように変更します

root@kitploit:~
javascript:alert(1) or javascript:<Payload>

深刻度

スコア深刻度バージョンベクター文字列
4.4MEDIUM3.1CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N

私の意見では、このバグは深刻度が高いわけではありませんが、ロジックとコードレビューに対する繊細な認識を必要とします。ほんの 2 行のコードの間にある小さなミスが脆弱性を生み出すことが、ご覧のとおりです。

poc

補足

もしこの種の研究に共感し、さらなる調査を支援したいと思われるなら、寄付やサポートをしていただけると幸いです。ご協力に感謝いたします。

╰(°▽°)╯

ツールをダウンロード