CVE-2020-11022

クロスサイト・スクリプティング
影響
jQuery
>=1.2.0 <3.5.0
jQuery
感嘆符アイコン
パッチあり
この脆弱性はHeroDevsが提供するNever-Ending Support (NES)バージョンで修正されました。

再現までのステップ

このミディアムレベルの脆弱性は、jQueryのバージョン1.2以上、3.5.0未満で発見される可能性があります。この問題は、jQueryのDOM操作メソッド(.html()、.append()など)に、信頼できないソースからHTMLを渡した場合に発生する可能性があります。入力が正しくサニタイズされていない場合、これらのメソッドは信頼できないコードを実行する可能性があります。

問題への対処

クライアントは、十分なテストを行った後、直ちにjQuery 3.5.0にアップデートしてください。jQuery.htmlPrefilter()で使用されているサニタイズ方法が3.5.0で変更され、サニタイズ機能が予期しない結果をもたらす可能性があるエッジケースが存在するため、広範なテストが必要です。古い動作がどうしても必要な場合は、jQuery 3.5.0 Releaseのブログで、安全な方法で古いロジックを使用する方法が説明されています。 また、移行できないお客様のために、HeroDevsではこのセキュリティ脆弱性を修正したjQuery 1とjQuery 2を含むjQueryのNever Ending Supportを提供しています。

学習と予防

信頼できないデータを使用または保存する前にサニタイズすることは、セキュリティのベストプラクティスである。このケースでは、データをサニタイズするために設計されたコードにエラーが見つかった。利用可能な最善の修正は、regex()の使用からデータをサニタイズする新しい方法に移行することだった。 

通常は、組み込みのサニタイズ方法を使用するだけで十分です。しかし、バージョン3.5.0で新しいサニタイズ方法を採用しているにもかかわらず、jQueryチームは追加のサニタイズのためにDOMPurifyライブラリを使用し、SAFE_FOR_JQUERYオプションを必ず使用することも推奨しています。DOMPurifyは、クロスサイトスクリプティング(XSS)エクスプロイトを防ぐために特別に設計された、非常に人気があり、高度に設定可能なライブラリです。

結論

可能な限り安全なJavascriptフレームワークをサイトに提供するため、HeroDevs NESのクライアントは、このCVEおよび他のすべての関連するCVEが修正されたjQueryのバージョンを受け取ります。

この修正により、CVE-2020-11022で説明されている潜在的なセキュリティホールが直接修正されます。このようなセキュリティ・アップデートの最新情報を入手するには、今すぐ弊社にご連絡ください。

リソース

脆弱性の詳細
身分証明書
CVE-2020-11022
影響を受けるプロジェクト
jQuery
影響を受けるバージョン
>=1.2.0 <3.5.0
発行日
2020年4月29日
≈ 確定日
2023年2月1日
で修正
重大性
ミディアム
カテゴリー
クロスサイト・スクリプティング