• ひとことでjQuery で、細工した HTML から不正なスクリプトが動く弱点
  • 深刻度6.1 警告CVSS v3.1
  • まずやることサイトで使う jQuery の版を確認する

何をすればいいかを詳しく読む

基本情報(データから表示)

CVE番号CVE-2020-11023
製品JQuery JQuery
深刻度(CVSS)6.1 警告CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
KEVへの追加日2025-01-23
米国政府機関の対応期限2025-02-13
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-79(クロスサイトスクリプティング)

何が起きた

ウェブページ作りでよく使われる部品の jQuery に、クロスサイトスクリプティング(XSS)の弱点が見つかりました。信頼できない相手からの option 要素を含む HTML を、無害化した後でも .html() や .append() などの jQuery の機能に渡すと、利用者のブラウザで不正なコードが動くおそれがあります。NVD の評価では、攻撃者はネットワーク経由で、ログインなしで悪用できますが、利用者の操作が必要とされています。CISA は実際の悪用を確認しています。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. 攻撃者が option 要素を含む HTML を用意する → 2. サイトがその HTML を jQuery の機能に渡す → 3. 利用者がそのページを開く → 4. 利用者のブラウザで不正なコードが動く1攻撃者が option 要素を含む HTML を用意する2サイトがその HTML を jQuery の機能に渡す3利用者がそのページを開く4利用者のブラウザで不正なコードが動く攻撃の流れ: 1. 攻撃者が option 要素を含む HTML を用意する → 2. サイトがその HTML を jQuery の機能に渡す → 3. 利用者がそのページを開く → 4. 利用者のブラウザで不正なコードが動く1攻撃者が option 要素を含む HTML を用意する2サイトがその HTML を jQuery の機能に渡す3利用者がそのページを開く4利用者のブラウザで不正なコードが動く攻撃の流れ: 1. 攻撃者が option 要素を含む HTML を用意する → 2. サイトがその HTML を jQuery の機能に渡す → 3. 利用者がそのページを開く → 4. 利用者のブラウザで不正なコードが動く1攻撃者が option 要素を含む HTML を用意する2サイトがその HTML を jQuery の機能に渡す3利用者がそのページを開く4利用者のブラウザで不正なコードが動く

誰が影響を受ける

jQuery の 1.0.3 以上、3.5.0 より前のバージョンを使っているウェブサイトやウェブアプリが対象です。jQuery は多くの製品に組み込まれているため、自分で直接入れていなくても使われていることがあります。

何をすればいい

jQuery を 3.5.0 以降に更新してください。すぐに更新できない場合、jQuery の勧告では、DOMPurify の SAFE_FOR_JQUERY という設定で HTML を無害化してから jQuery に渡す方法が示されています。jQuery の 3.5 への移行ガイドなど、公式の案内も確認してください。

やることチェックリスト

  • サイトで使う jQuery の版を確認する
  • jQuery を 3.5.0 以降に更新する
  • 更新できない間は DOMPurify で無害化する

用語メモ

クロスサイトスクリプティング(XSS) 用語集で見る
ウェブページに不正なスクリプトを紛れ込ませ、見た人のブラウザで動かす攻撃です。
無害化
入力の中から危険な部分を取り除いたり、効かない形に変えたりすることです。
DOMPurify
HTML から危険な部分を取り除くための、ブラウザ向けの部品です。

次に読む

公式情報と元データ

公式情報

元データ(英語・CISA KEV より)を開く

JQuery Cross-Site Scripting (XSS) Vulnerability

概要

JQuery contains a persistent cross-site scripting (XSS) vulnerability. When passing maliciously formed, untrusted input enclosed in HTML tags, JQuery's DOM manipulators can execute untrusted code in the context of the user's browser.

推奨対応

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

この元データの出どころ: CISA KEV カタログで見る