jQuery の最新版は3.xだが、現在も1.xと2.xが公開されている。 古いバージョンを使うのは自由だが、あまりお勧めできないかもしれない。
先日、たまたまChromeに付属するLighthouseでjQueryを含むページを測定したところ、今まで気づかなかったアラートを発見した。 Performance や Accessibility ばかりに目が行き、見逃していたのかもしれない。
以下はLighthouseの画面。
項目は「Best Practices」にある「Trust and Safety」。
アラートの内容は以下の通り。
Includes front-end JavaScript libraries with known security vulnerabilities - 4 vulnerabilities detected
Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers.
要するに「既知のセキュリティ脆弱性が含まれています」、「4つの脆弱性が検出されました」ということ。
ちなみに計測したページは、簡単なテキストだけを書いたテスト用のページ。 jQueryのバージョンは1.12.4(1系の最終版)。 バージョン2.2.4(2系の最終版)でもアラート内容は同じだった。
次に最新バージョン3.6.0(2021年当時)で計測するとアラートは表示されなかった。
以下はそのLighthouseの画面。
なお、2023年現在の最新バージョンは3.6.3となっている。
Googleがサイトを評価する(掲載順位を決める)シグナルとして、httpsやコアウェブバイタルなどがある。 本件のような脆弱性が評価に影響するのか否か不明だが、あまり良くない可能性もある。 まあ、Googleの評価に関わらず、良くないことだが。
ただ、いろいろなサイトのソースコードを見ると、今でも古いjQueryを使っているサイトをわりと見かける。 古いウェブブラウザへの対応や他のスクリプトとの兼ね合いもあるが、できれば古い環境を切り捨てて、安全性を優先し、最新版(3系)を使う方が良いと思われる。
ここ何年か1系、2系ともにバージョンに変化がないため、jQuery自体更新されていないと思っている人もいるかもしれないが、1系と2系は2016年に更新を停止しており、3系のみ更新されている。