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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
drupal-htmx-attr — Drupal 11.4.8 - 高 - リモート - XSS - AttributeXss は依然として HTMX 属性を許可する | Kitploit
ツール/GitHubGitHub/abraxas/drupal-htmx-attr
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストラボと実践
GitHubabraxas/drupal-htmx-attr

drupal-htmx-attr

Drupal 11.4.8 - 高 - リモート - XSS - AttributeXss は依然として HTMX 属性を許可する

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - drupal-htmx-attr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  drupal-htmx-attr

解説記事: https://abraxaslabs.tech/research/drupal-htmx-attr

drupal-htmx-attr

クラス: 蓄積型XSS 到達範囲: リモート

Drupal core 11.4.8 (61044508) - Drupal

SA-CORE-2026-011 は Xss::attributes() 内のHTMX属性を塞いだ。リンクおよびメニューの属性は AttributeXss::sanitizeAttributes を経由するが、このスキップリストは依然として style と on* のみを除外している。

Linkフィールド(またはメニューリンク)を設定できるコンテンツ編集者は、hx-on-click や data-hx-on-click を保存できる。StandardとBigPipeは core/htmx を読み込む。管理者やその他の閲覧者がそのノードを開いてリンクをクリックすると、HTMXが保存されたJSをサイトのオリジンで実行する。

IDCVE未割当
クラス蓄積型XSS(HTMXイベント属性)
到達範囲リモート(認証済みのLinkフィールド/メニュー書き込み者。被害者が閲覧してクリック)
CWECWE-79
CVSSHigh: 8.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
製品Drupal core
影響を受けるバージョン11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
認証Linkフィールド(またはメニューリンク)を書き込める認証済みユーザー。被害者がページを閲覧してクリックする。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

書き込み者: リンクの options.attributes(Linkフィールド、メニューリンク、JSON:API)を設定できるコンテンツ編集者。被害者: ページがHTMXを読み込む(StandardとBigPipeは core/htmx を読み込む)すべての者。リンクをクリックするサイト管理者も含まれる。

権限メソッド/パス種類ラボ実証または推測
リンクにHTMXイベント属性を永続化POST /jsonapi/node/article に field_link.options.attributes.hx-on-click と data-hx-on-click を指定保存フィールドの完全性ラボ実証済み。JSON:API 201、保存された属性に依然 hx-on-click が含まれる
それらの属性をノードの <a> に出力LinkFormatter -> AttributeXss::sanitizeAttributesHTMLの完全性ラボ実証済み。GET /node/1 のHTMLに hx-on-click とマーカー window['DRUPAL-HTMX-ATTR-WITNESS']=1 が含まれる
被害者がクリックした際にそのJSを被害者のオリジンで実行HTMXが hx-on-* をバインド被害者セッションの完全性HTMXとページが core/htmx を読み込むことからの推測。ラボではブラウザでのクリックを実行していない
閲覧者として振る舞う(セッションCookie、管理UIのクリック)同一の蓄積型XSS被害者セッションの完全性推測。ラボは属性がHTMLに残るところまでで停止
否定: Xss::filterXss::filter('<a ... hx-on-click=...>')塞がれているラボ実証済みで塞がれている。xss_keeps_hx=False
未認証でのリンク書き込みセッションなしのJSON:API塞がれているラボはまずuid 1でログインした。アカウントを持たない第三者はフィールドを設定できない
PHP RCE/LPE該当なし塞がれているこの残存物はブラウザJSであり、サーバー上のPHPではない

同じピンにおける残存物: Move Block sibling markup。

発見の経緯

SA-CORE-2026-011 の後、drupal/drupal 11.4.8 を固定しました。5つのハント: XSS/HTMX、ファイル/MIME/oEmbed、JSON:API/unserialize/SQLi、認証/CSRF/Host、REST/media/Views。JSON:API アクセス、EntityQuery の IN キー (SA-004)、シリアライズフィールドの POI (SA-005)、および rebuild.php の Host (SA-007) はパッチ適用済みのままです。HTMX のスキップリストは Xss.php にのみ追加されました。

$skip = (
  in_array($attribute_name, ['style', 'srcdoc']) ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, 'data-hx') ||
  str_starts_with($attribute_name, 'hx') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

AttributeXss.php の残存物:

$skip = (
  $attribute_name == 'style' ||
  str_starts_with($attribute_name, 'on') ||
  str_starts_with($attribute_name, '-') ||
  strlen($attribute_name) > 96
);

呼び出し元には LinkFormatter.php と MenuLinkContent::getUrlObject() が含まれる。

すでに記録済みの誤った方向性:Xss::filter を残存物として扱うこと(これは対照群である);未認証の JSON:API 書き込み;PHP RCE;リバースシェル。すべて見せかけである。オラクルは、ノード HTML 上に残存する attr と、core/htmx が読み込まれていることである。

ラボ

python3 drupal-htmx-attr-Abraxas-Labs.py

または

cd lab
./run.sh

対象は http://127.0.0.1:19480 のみ。ライブの drupal:11.4.8-apache、Standard プロファイル、ラボ用に JSON:API 書き込みを有効化。Compose プロジェクト drupal-htmx-attr。

SUCCESS drupal-htmx-attr how=live write=jsonapi nid=1 hx-on-click=kept jsonapi-stored=1 xss-filter=stripped htmx=loaded marker=1 version=11.4.8 DRUPAL-HTMX-ATTR-WITNESS

修正

hx / data-hx / srcdoc の拒否リストを AttributeXss にコピーします。クラスの docblock にすでに記載されているとおり、これを Xss に統合します。

参考資料

  • github.com/drupal/drupal タグ 11.4.8 (61044508071749629aaf3380aa85971e94df9e84)
  • AttributeXss.php · Xss.php
  • 近接する修正済み: SA-CORE-2026-011
  • 同じピン: drupal-move-block-markup
  • CWE-79

ライセンス

GNU Affero GPL v3.0。LICENSE を参照してください。ループバックラボ専用です。保証はありません。

ツールをダウンロード