- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。
taneCREATIVEの「ちほうタイガー」です。
この記事は、Underscore.jsのバージョンと脆弱性への対応状況についてまとめたもので、2025年2月14日に執筆しています。
Underscore.jsは、JavaScript開発者向けの軽量かつ豊富な処理を持つJavaScriptライブラリであり、Jeremy Ashkenasさんとコミュニティによって開発・サポートされています。
Underscore.jsのアクティブインストール数などの情報は見つかっていませんが、公式GitHubリポジトリでは2万7千以上のstarを獲得しており、非常に人気の高いライブラリであるという印象です。
一方で、人気が高いほど攻撃対象になるリスクもあるため、脆弱性への適切な対応が重要になります。
この記事では、企業のWeb担当の皆様に向けて、Underscore.jsの概要並びに、脆弱性及びその対応状況をご紹介することで、Underscore.js自体については安心して使用していただけるようにしたいと思います。
少しでも皆様のお役に立てる記事にできればと思います。
どうぞよろしくお願い致します。
前述の通り、Underscore.jsは、軽量かつ豊富な処理を持つオープンソースのJavaScriptライブラリであり、豊富な関数群により、配列やオブジェクトの操作、関数の高階処理など、日常的なプログラミングタスクをシンプルかつ直感的に実装できることから、多くのWebサイトで利用されています。
一方で、利用者の多いライブラリは、攻撃のターゲットにされる可能性があるため、当社では、脆弱性に対する対応が遅い、もしくは対応しないライブラリは、クライアントにお勧めしていません。
Underscore.jsについては、2024年6月24日にリリースされた最新バージョンである1.13.7以降、脆弱性は見つかっていないこと、定期的なバージョンアップがされていることから、2025年2月14日現在、セキュリティ面での問題はないと考えております。
Underscore.jsは、セマンティックバージョニングに近いバージョニングが採用されており、左からメジャーバージョン、マイナーバージョン、パッチバージョンの3つの数字で構成されていますが、開発者が「たとえば後方互換性に影響する変更があっても必ずメジャーバージョンを上げるというわけではない」と述べており、バージョン番号は必ずしも変更の性質を正確に反映していない場合があります。
2025年2月14日現在、Underscore.jsの最新バージョンは1.13.7です。
通常のオープンソースソフトウェアでは、公式のサポート(新機能の追加、不具合の改修、セキュリティパッチの提供)は最新パッチバージョンのみを対象としており、Underscore.jsでも同様の対応が行われていると考えられます。
バージョン1.12.0以下ないし1.13.0-0から1.13.0-1をご使用の場合には、既知の脆弱性が存在する可能性がありますので、最新のパッチバージョンへのアップデートを実施してください。
2025年2月14日現在での、Underscore.jsのバージョン情報は次の通りです。
バージョン | リリース日 | サポート期限 | 修正された脆弱性 |
1.13.7 | 2024年7月24日 | サポート中 | - |
1.13.6 | 2022年9月24日 | 2024年7月24日 | - |
1.13.5 | 2022年9月23日 | 2022年9月24日 | - |
1.13.4 | 2022年6月2日 | 2022年9月23日 | - |
1.13.3 | 2022年4月23日 | 2022年6月2日 | - |
1.13.2 | 2021年12月16日 | 2022年4月23日 | - |
1.13.1 | 2021年4月15日 | 2021年12月16日 | - |
1.13.0 | 2021年4月9日 | 2021年4月15日 | - |
1.13.0-3 | 2021年3月31日 | 2021年4月9日 | - |
1.13.0-2 | 2021年3月15日 | 2021年3月31日 | CVE-2021-23358 |
1.12.1 | 2021年3月15日 | 2021年3月15日 | CVE-2021-23358 |
1.13.0-1 | 2021年3月11日 | 2021年3月15日 | - |
1.13.0-0 | 2021年3月9日 | 2021年3月11日 | - |
1.12.0 | 2020年11月24日 | 2021年3月9日 | - |
※上記の内容は、公式サイトのChange Logを正として、バージョン1.12.0までを掲載しています。
※バージョン1.12.0以下及びバージョン1.13.0-0から1.13.0-1には既知の脆弱性が存在するため、グレーにしています。
Underscore.jsの最新バージョンは1.13.7であり、当社が把握している全ての脆弱性に修正対応済みとなっています。
また、バージョン1.12.0以下ないし1.13.0-0から1.13.0-1をご使用の場合には、既知の脆弱性が存在する可能性がありますので、最新のパッチバージョンへのアップデートを推奨いたします。
なお、Underscore.js自体に関する脆弱性情報で、当社が把握しているものは次の通りです。
脆弱性情報 | 深刻度 | 影響を受けるバージョン | 修正されたバージョン |
CVE-2021-23358 JVNDB-2021-005020 |
CVSS v3 7.2 (重要) |
Underscore.js 1.13.0-0から1.13.0-1 Underscore.js 1.3.2 から 1.12.0 |
Underscore.js 1.13.0-2 Underscore.js 1.12.1 |
※脆弱性情報については、情報セキュリティにおける脆弱性情報に付けられている番号であるCommon Vulnerabilities and Exposures(本記事では「CVE」とします)の順序に従って掲載しています。
※深刻度については、共通脆弱性評価システムCVSS v3に基づいていますが、CVSS v3が採用される以前の脆弱性情報についてはCVSS v2に基づいています。
※本記事では、CVSS v3ないしCVSS v2にて緊急(9.0~10.0)、重要(7.0~8.9)、警告(4.0~6.9)に区分されるもののみを掲載しています。
※深刻度の数値はJapan Vulnerability Notes(本記事では「JVN」とします)及び、JVNが評価を合わせている米国国立標準技術研究所(NIST)が運営する脆弱性データベースであるNational Vulnerability Database(以下「NVD」)に準拠しています。
※本記事における脆弱性情報は、当社が把握しているものだけであり、全ての脆弱性情報を網羅できているかはわかりません。
※本記事における脆弱性情報をご利用になる場合には、必ずJVN、NVDなどの情報を確認されたうえで、自己責任でご利用ください。
前述のように、Underscore.jsは人気のあるライブラリであり、Web制作の現場では、よく利用されています。
しかしながら、Underscore.js自体のバージョンアップをしようと思っても、JavaScriptの知識が必要であったり、作業が複雑であるなどの問題に直面することもあるかと思います。
taneCREATIVE社は、「リモートによるWebアプリケーションのセキュリティ対策をパッケージ化、首都圏大手企業に提供」している点が評価され、2021年にJ-Startup NIIGATAに選定されているWeb制作会社で、Underscore.jsとJavaScriptについてもノウハウを有しています。
※「J-Startup NIIGATA」とは、経済産業省が2018年に開始したJ-Startupプログラムの地域版として、新潟発のロールモデルとなるスタートアップ企業群を明らかにし、官民連携により集中的に支援する仕組みを構築することで、新潟県におけるスタートアップ・エコシステムを強化する取組です。
Underscore.jsを使用したWebサイト制作やアップデートを含む保守・管理に関しては、こちらのお問合せよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。
2025年2月14日執筆