Timmy Willison氏は最近、jQueryの新しいバージョンをリリースした。jQuery 3.5は、jQueryのHTMLパーサーに見られたクロスサイトスクリプティング(XSS)の脆弱性を修正している。Snykオープンソースセキュリティプラットフォームは、すべてのWebサイトの84%がjQuery XSSの脆弱性の影響を受ける可能性があると推定している。jQuery 3.5では、次のメジャーjQueryリリース(jQuery 4)でポジションセレクターが完全に削除される準備として、ポジションセレクターの:evenおよび:oddに欠落しているメソッドも追加される。

Masato Kinugawa氏は、jQueryのhtmlPrefilterメソッドにクロスサイトスクリプティング(XSS)の脆弱性を発見し、チャレンジ形式のポップアップアラートウィンドウを示す例を公開した。Kinugawa氏は、jQueryのhtml()関数がhtmlPrefilter()メソッドを呼び出しており、それは正規表現を使用してXHTMLのようなタグをHTMLで機能するバージョンに置き換えると説明している。

これは基本的に、自己終了タグをフルブラウンタグに変換します。

<blah/>
<!-- converted to -->
<blah></blah>

これは本当に強力です。

<style><style/>Elon;を考えてみましょう。innerHTMLを使用してこれをDOMに挿入すると、結果のDOMツリーは次のようになります。

<style>
   <style/>Elon
</style>

しかし、jqueryのhtml()では、まったく別の話になります。html()で同じ入力を試みると、次のようになります。

<style>
   <style>
</style>
Elon

自己終了の<style/><style></style>に置き換えられ、2番目の<style>タグが最初の<style>タグのコンテンツとして扱われるようになりますが、Elonテキストに何が起こったかを確認してみましょう。<style>タグの外側にあり、HTMLコンテキストで開いています。ゆえに、XSSです。

#セキュリティ #jquery #javascript #デベロップメント #ニュース

jQuery 3.5がリリースされ、XSSの脆弱性が修正された
12.20 GEEK