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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-71204-PoC — PoC: changedetection.io 設定のブラインドマージ・マスアサインメント (CVE-2026-71204, Medium 6.3) | Kitploit
ツール/GitHubGitHub/nel-droid/cve-2026-71204-poc
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用APIセキュリティ
GitHubnel-droid/cve-2026-71204-poc

CVE-2026-71204-PoC

PoC: changedetection.io 設定のブラインドマージ・マスアサインメント (CVE-2026-71204, Medium 6.3)

リポジトリを見る
324日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-71204 — changedetection.io: /settings 保存時のチェックボックス省略により API キー強制が静かに無効化される

製品: dgtlmoon/changedetection.io — v0.55.7 ファイル: changedetectionio/blueprint/settings/__init__.py, changedetectionio/forms.py CWE: CWE-284 — 不適切なアクセス制御 CVSS 3.1: AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L — 6.3 (中) CNA: Turan Security · CVE レコード

説明

changedetection.io の /settings 保存ハンドラは、更新辞書を form.data['application'] から構築し、保存済みアプリケーション設定へ盲目的にマージする( .update() 経由)。HTML チェックボックスはチェック時のみ、送信されたフォームデータに含まれるため、 セキュリティ上重要なチェックボックスフィールド(API キー要求を強制するフィールドなど)を単に 省略した細工された POST は、ハンドラレベルでは、ユーザーが UI でチェックを外したのと 区別できない。盲目的な .update() はその設定を静かにオフにしてしまう。

影響

api_access_token_enabled(または同等の設定)を明示的に false に設定しないリクエストは — POST ボディからそのフィールドを除外するだけ — 結果として、アプリケーション設定が その保護が実質的に無効化された状態でマージされる。明示的な確認手順や、 「ユーザーがチェックを外した」と「フィールドが送信されなかった」を区別する監査シグナルはない。

再現手順

  1. 通常どおり /settings ページに認証する。
  2. 描画されたフォーム全体を送信する代わりに、/settings への POST を送信する。その際、 api_access_token_enabled フィールド(またはテスト対象の保護対象ブール設定)を ボディから完全に省略し、無関係なフィールドのみを含める:
    root@kitploit:~
    POST /settings HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    application-some_other_field=value
    
  3. 設定保存ハンドラ内の盲目的な form.data['application'] → .update() マージは、 欠落したフィールドを明示的な「オフ」と同じように扱い、保護を静かに無効化する。 明示的なオフのシグナルが、ユーザー(またはリクエストをレビューする監査担当者)には見えないまま行われる。

根本原因

生のフォームデータからの盲目的な dict .update() は、「POST から欠落したフィールド」と 「明示的に false に設定されたフィールド」をチェックボックス設定において同一視する。HTML フォームは 未チェックのチェックボックスを送信することはないため、このパターンはセキュリティに 影響するあらゆる設定フィールドに対して安全ではない。

修正推奨事項

想定されるブール型設定フィールドを明示的に列挙し、欠落しているフィールドは 現在保存されている値(False ではなく)にデフォルト設定する。あるいは、「未送信」と 「未チェックとして送信された」を区別し、セキュリティ関連のトグルを盲目的な dict マージではなく 明示的に検証するフォームライブラリを使用する。

ツールをダウンロード