XML マークアップをエスケープ (セキュリティセンター 1.3 での更新)

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • glide.ui.escape_text プロパティを使用して、パーサーレベルで XML 値を強制的にエスケープしてから、クライアントのブラウザに送信します。

    クロスサイトスクリプティングは、攻撃者が悪意のある JavaScript をエントリポイントに挿入するときに発生します。プラットフォーム/アプリケーションは、被害者のブラウザに送信して実行する前に悪意のある JavaScript をエスケープすることができません。このコンテキストでのエスケープとは、次のことを意味します。
    • & --> &
    • < --> <
    • > --> >
    • " --> "
    • ' --> '
    • / --> /

    例:<![CDATA[<script>alert('XSS Attack');]]>

    エスケープ:<script>alert('XSS Attack');</script>

    glide.ui.escape_text プロパティが sys_properties テーブルにあり、true に設定されていることを確認します。

    警告:
    これはセーフハーバープロパティです。つまり、いったん変更したら変えることはできません。元に戻すことはできません。

    詳細情報

    属性 説明
    プロパティ名 glide.ui.escape_text
    構成タイプ システムプロパティ (/sys_properties_list.do)
    カテゴリ 検証、サニタイズ、およびエンコーディング
    目的 XML をエスケープすることで、信頼できないデータに埋め込まれた悪意のある JavaScript をブラウザが解析して JavaScript として実行することを確実になくします。
    • 悪意のあるユーザーが XSS 攻撃を試みて、他のユーザーのセッションをハイジャクするか、ユーザーを悪意のある Web サイトにリダイレクトする可能性があります。
    • NOW Platform には cookie を保護するためのコードが含まれていますが、それをエスケープするにはこのプロパティが true に設定されている必要があります。
    推奨値 true
    セキュリティリスク評価 8.8
    機能への影響 この修正では、UI の XML パーサーレベルで XML エンコードが適用されます。これにより、エンコードされた結果がユーザーに対してレンダリングされるので、結果のデータを用いたインスタンスのユーザーインタラクションに基づいて、機能に影響を与える可能性があります。
    セキュリティリスク (高) クロスサイトスクリプティング攻撃から防御するために、アプリケーションで入力検証を行う必要があります。これらの攻撃により、ログインしているブラウザのコンテキストで、ユーザーセッションで外部スクリプトが実行される可能性があります。攻撃者はこれを使用してセッション情報と機密データを盗むことができます。
    ワークアラウンド

    このプロパティを true に設定すると、カタログアイテムの説明またはカタログアイテム変数のヘルプテキストの HTML タグでレンダリングが停止します。フィールドによっては、HTML 形式を使用できない場合があります。

    ただし、glide.ui.escape_text プロパティをオフにすると、出力エンコーダーにより、すべての JEXL 式にプリフィックスが付加されます。

    $⁠{JS:expression}

    $⁠{HTML:expression}

    または

    $⁠{JS,HTML:expression}