CVE情報

CVE information

CVE-2026-36341
: Krayin CRMにおけるHTMLインジェクション/クロスサイトスクリプティング(XSS)の脆弱性

報告者

株式会社CyberCrew

概要

Krayin CRMにおいて、ユーザーが入力した内容が適切に無害化されないまま管理画面上に表示される、HTMLインジェクションおよびクロスサイトスクリプティング(XSS)につながる可能性のある脆弱性が確認されました。

本脆弱性は、CRM上の「Call」や「Meeting」などのアクティビティ記録に入力された内容が、管理画面で表示される際に適切にエスケープされないことに起因します。攻撃者が悪意のあるHTMLやスクリプトを含む内容を登録した場合、その記録を確認した管理者や上位権限のユーザーのブラウザ上で、不正なコードが実行される可能性があります。

CRMでは、スタッフが登録した活動履歴をマネージャーや管理者が確認する運用が一般的です。そのため、攻撃者は被害者に直接リンクをクリックさせることなく、通常業務の確認フローを悪用して高権限ユーザーを狙える点が問題となります。

基本スコア(Base Score)

5.4 (Medium)
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

攻撃元区分(Attack Vector)

ネットワーク(Network)
隣接ネットワーク(Adjacent)
ローカル環境(Local)
物理アクセス(Physical)

攻撃の複雑さ(Attack Complexity)

(Low)
(High)

必要な権限(Privileges Required)

不要(None)
(Low)
(High)

ユーザー関与(User Interaction)

不要(None)
必要(Required)

スコープ(Scope)

変更なし(Unchanged)
変更あり(Changed)

機密性(Confidentiality)

影響なし(None)
(Low)
(High)

完全性(Integrity)

影響なし(None)
(Low)
(High)

可用性(Availability)

影響なし(None)
(Low)
(High)

脆弱性の概要

項目内容
CVECVE-2026-36341
脆弱性の種類HTMLインジェクション/クロスサイトスクリプティング(XSS)
影響を受ける製品Webkul Krayin CRM
影響を受ける画面管理画面、アクティビティ表示画面
想定される攻撃対象管理者、マネージャー、上位権限ユーザー
修正版Krayin CRM v2.1.6

この脆弱性は、単に画面表示が崩れるだけの問題ではありません。入力値がHTMLとして解釈される場合、内容によってはスクリプトの実行につながり、管理者アカウントの侵害や機密情報の窃取に発展する可能性があります。

脆弱性の詳細

本脆弱性は、Krayin CRMのアクティビティ記録における説明欄など、ユーザーが自由に入力できる項目に存在します。

攻撃者は、「Call」や「Meeting」などの活動記録を作成する際に、説明欄へHTMLタグを含む文字列を入力します。その内容が保存された後、管理画面上で表示される際に適切なエスケープ処理が行われない場合、入力されたHTMLがそのままブラウザで解釈されます。

この挙動により、保存型のHTMLインジェクションが成立します。さらに、実行可能なスクリプトが含まれる場合には、保存型XSSとして悪用される可能性があります。

特に問題となるのは、表示先が管理画面である点です。一般ユーザーが登録した活動履歴を、マネージャーや管理者が確認する業務フローでは、攻撃者が高権限ユーザーの閲覧を誘導しなくても、通常業務の中で不正な内容が表示される可能性があります。

検証手順(PoC)

以下の内容は、許可された検証環境でのみ利用されるべきものです。第三者のシステムに対して無断で検証を行うことは、不正アクセスや業務妨害に該当する可能性があります。

検証では、Krayin CRM上でアクティビティを作成し、説明欄にHTMLを含む内容を入力します。

たとえば、CallやMeetingなどの記録を作成する際に、説明欄へHTMLを含む文字列を入力します。

Krayin CRMの説明欄にHTMLを入力している検証画面

本来、ユーザーが入力した内容は、HTMLとして解釈されないようにエスケープして表示する必要があります。しかし、該当箇所で適切な出力時エスケープが行われていない場合、入力内容がHTMLとして処理されます。

最終出力の確認

アクティビティを保存した後、管理画面や詳細画面で該当の記録を確認すると、入力したHTMLがそのまま反映されます。

Krayin CRM上でHTMLが反映された最終出力画面

このように、保存された入力内容がHTMLとして解釈される場合、表示の改ざんだけでなく、スクリプト実行を伴うXSSに発展する可能性があります。

管理者やマネージャーがこの画面を閲覧した場合、攻撃者が仕込んだ不正なコードが、閲覧者のブラウザ上で実行されるおそれがあります。

検証動画(PoC)

以下は、本脆弱性の検証動画です。

検証動画やPoC情報は、防御・修正・再現確認のために利用されるべきものです。許可のない環境での検証や悪用は行わないでください。

想定される影響

本脆弱性が悪用された場合、攻撃者は管理画面を閲覧したユーザーのブラウザ上で不正な処理を実行できる可能性があります。

想定される主な影響は以下のとおりです。

  • 管理者やマネージャーのブラウザ上で不正なスクリプトが実行される
  • セッションCookieや認証情報が窃取される可能性がある
  • アカウントの乗っ取りにつながる可能性がある
  • アクセストークンや個人情報などの機密情報が外部に送信される可能性がある
  • 被害者の権限で不正な操作が実行される可能性がある
  • 管理者アカウントが侵害される可能性がある
  • CRM上の顧客情報、営業情報、社内記録が不正に閲覧・改ざんされる可能性がある

特にCRMは、顧客情報、商談履歴、担当者情報、社内の活動履歴など、業務上重要な情報を扱うシステムです。そのため、管理画面でXSSが成立した場合、単なる画面表示上の問題ではなく、情報漏えいや業務上の不正操作につながるおそれがあります。

攻撃が成立しやすい理由

この脆弱性が注意すべき点は、攻撃対象が管理者や上位権限ユーザーになりやすいことです。

CRMでは、一般スタッフが登録したCallやMeetingの履歴を、マネージャーや管理者が確認する運用が多く見られます。攻撃者が活動記録に不正な内容を保存しておけば、管理者が通常業務としてその記録を確認したタイミングで、不正な処理が実行される可能性があります。

つまり、攻撃者が管理者に直接メールを送ったり、不審なリンクをクリックさせたりしなくても、CRM上の通常業務フローを通じて攻撃が成立する可能性があります。

このような保存型XSSは、影響範囲が広がりやすく、特に管理画面で発生する場合は深刻度が高くなります。

推奨される対策

Krayin CRMを利用している場合は、まず利用中のバージョンを確認し、修正版であるKrayin CRM v2.1.6以降へのアップデートを検討してください。

あわせて、以下の対策を実施することが推奨されます。

1. 出力時にユーザー入力を必ずエスケープする

ユーザーが入力した値をHTML上に表示する際は、必ず出力時にエスケープ処理を行ってください。

保存時に処理するだけでは不十分です。データベースに保存された値であっても、安全であるとは判断せず、画面へ出力するタイミングで適切に無害化することが重要です。

2. 自動エスケープに対応したテンプレートエンジンを利用する

テンプレートエンジンやフレームワークの自動エスケープ機能を有効にし、ユーザー入力がそのままHTMLとして出力されないようにしてください。

例外的にHTML出力を許可する場合でも、対象箇所を限定し、レビュー可能な実装にする必要があります。

3. HTMLを許可する場合はサニタイズを行う

業務上、説明欄などで一部のHTML装飾を許可する必要がある場合は、許可するタグや属性を厳密に制限してください。

DOMPurifyのような実績のあるサニタイズライブラリを利用し、危険なタグ、イベントハンドラ、JavaScript URLなどを除去することが重要です。

4. ユーザーデータに対してinnerHTMLの使用を避ける

フロントエンド側でユーザー入力を表示する場合、innerHTML に直接代入する実装は避けてください。

テキストとして表示するだけでよい場合は、textContent などを利用し、ブラウザがHTMLとして解釈しない形で出力することが望まれます。

5. 保存済みデータも安全とは見なさない

一度データベースに保存された値であっても、安全なデータとは限りません。

過去に保存された活動履歴、コメント、説明欄、メモ欄などに悪意のあるHTMLやスクリプトが含まれている可能性もあるため、出力時には常に未信頼データとして扱う必要があります。

6. 既存データを確認する

すでにKrayin CRMを運用している場合は、既存の活動履歴や説明欄に不審なHTMLが含まれていないかを確認してください。

特に、管理者が閲覧する可能性のあるCall、Meeting、Notes、Activityなどの記録は優先的に確認することが重要です。

7. Content Security Policy(CSP)の導入を検討する

XSS対策の補助策として、Content Security Policy(CSP)の導入も有効です。

CSPを適切に設定することで、インラインスクリプトの実行や外部ドメインへの不正な通信を制限できる場合があります。ただし、CSPは根本対策ではないため、出力時エスケープやサニタイズと併用する必要があります。

管理者が確認すべきポイント

Krayin CRMを利用している管理者は、以下を優先的に確認してください。

  • Krayin CRMの利用バージョンを確認する
  • v2.1.6以降へのアップデートが可能か確認する
  • CallやMeetingなどの活動履歴に不審なHTMLが保存されていないか確認する
  • 管理者やマネージャーが閲覧する画面で、ユーザー入力が適切にエスケープされているか確認する
  • 管理画面で不要なHTML表示が許可されていないか確認する
  • 一般ユーザーに過剰な入力・編集権限が付与されていないか確認する
  • 管理者アカウントに多要素認証を導入する
  • 不審なログインや操作履歴がないか確認する

まとめ

CVE-2026-36341は、Krayin CRMにおいて、ユーザー入力が適切に無害化されないまま管理画面上に表示されるHTMLインジェクション/クロスサイトスクリプティング(XSS)の脆弱性です。

攻撃者は、CallやMeetingなどの活動記録に悪意のあるHTMLやスクリプトを含む内容を保存することで、その記録を確認した管理者やマネージャーのブラウザ上で不正な処理を実行できる可能性があります。

CRMの管理画面は、顧客情報や営業情報など重要な情報にアクセスできる権限を持つユーザーが利用するため、XSSが成立した場合の影響は大きくなります。

対象環境を利用している場合は、速やかにバージョン確認とアップデートを行い、あわせて出力時エスケープ、サニタイズ、既存データの確認、管理者アカウントの保護を実施することが重要です。

参考情報


Page Top