- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。
taneCREATIVEの「ちほうタイガー」です。
この記事は、Lodashのバージョンと脆弱性への対応状況についてまとめたもので、2025年2月18日に執筆しています。
Lodashは、JavaScript開発者向けのJavaScriptライブラリであり、現在ではコミュニティによって開発・サポートがされています。
Lodashのアクティブインストール数などの情報は見つかっていませんが、公式GitHubリポジトリでは6万以上のstarを獲得しており、非常に人気の高いライブラリであるという印象です。
一方で、人気が高いほど攻撃対象になるリスクもあるため、脆弱性への適切な対応が重要になります。
この記事では、企業のWeb担当の皆様に向けて、Lodashの概要並びに、脆弱性及びその対応状況をご紹介することで、Lodash自体については安心して使用していただけるようにしたいと思います。
少しでも皆様のお役に立てる記事にできればと思います。
どうぞよろしくお願い致します。
前述の通り、Lodashは、開発者向けのJavaScriptライブラリであり、配列、オブジェクト、文字列、関数などのデータ操作に特化した多数のメソッドを提供しています。
また、直感的なAPI設計によりコードの可読性や保守性が改善され、特に大規模データの処理やパフォーマンスが求められる現場で高い評価を受けていることから、多くのWebサイトで利用されています。
一方で、利用者の多いライブラリは、攻撃のターゲットにされる可能性があるため、当社では、脆弱性に対する対応が遅い、もしくは対応しないライブラリは、クライアントにお勧めしていません。
Lodashについては、最新バージョンである4.17.21でさえも2021年2月21日にリリースされたものであり、活発なアップデートがなされているとは言い難い状況です。
しかしながら、バージョン4.17.21以降、脆弱性は見つかっていないこと、SECURITY.md(mdはMarkdown形式の文書のこと)は2024年12月13日に更新されていることから、コミュニティが健在であること、セキュリティに関してはサポートを継続する意志があることも読み取れることから、2025年2月18日現在、セキュリティ面での問題はないと考えております。
Lodashは、セマンティックバージョニングに近いバージョニングが採用されており、左からメジャーバージョン、マイナーバージョン、パッチバージョンの3つの数字で構成されています。
2025年2月18日現在、Lodashの最新バージョンは4.17.21です。
通常のオープンソースソフトウェアでは、公式のサポート(新機能の追加、不具合の改修、セキュリティパッチの提供)は最新パッチバージョンのみを対象としており、Lodashでも同様の対応が行われていると考えられます。
なお、Lodash公式サイトのSecurity Policyによれば、公式サポートの対象は4系統のみであり、3系統、2系統、1系統の公式サポートは終了しています。
また、バージョン4.17.20以下をご使用の場合には、既知の脆弱性が存在する可能性がありますので、最新のパッチバージョンへのアップデートを実施してください。
2025年2月18日現在での、Lodashのバージョン情報は次の通りです。
バージョン | リリース日 | サポート期限 | 修正された脆弱性 |
4.17.21 | 2021年2月21日 | サポート中 |
CVE-2021-23337 CVE-2020-28500 |
4.17.20 | 2020年8月14日 | 2021年2月21日 | CVE-2020-8203 |
4.17.12 | 2019年8月16日 | 2019年8月20日 | CVE-2019-10744 |
4.17.11 | 2019年8月8日 | 2019年8月16日 |
CVE-2019-1010266 CVE-2018-16487 |
4.17.5 | 2017年5月4日 | 2017年5月8日 | CVE-2018-3721 |
※上記の内容は、公式GitHubのTagsを正として、バージョン4.17.20までを掲載していますが、Tagsに記載のないバージョンについてはnpmレジストリを参照しています。
※バージョン4.17.20以下には脆弱性が修正されたバージョンのみを記載しており、また、既知の脆弱性が存在するため、グレーにしています。
Lodashの最新バージョンは4.17.21であり、当社が把握している全ての脆弱性に修正対応済みとなっています。
また、バージョン4.17.20以下をご使用の場合には、既知の脆弱性が存在する可能性がありますので、最新のパッチバージョンへのアップデートを推奨いたします。
なお、Lodash自体に関する脆弱性情報で、当社が把握しているものは次の通りです。
脆弱性情報 | 深刻度 | 影響を受けるバージョン | 修正されたバージョン |
CVE-2021-23337 JVNDB-2021-001309 |
CVSS v3 7.2(重要) |
Lodash 4.17.20までのバージョン | Lodash 4.17.21 |
CVE-2020-28500 JVNDB-2020-011490 |
CVSS v3 5.3 (警告) |
Lodash 4.17.20までのバージョン | Lodash 4.17.21 |
CVE-2020-8203 JVNDB-2020-008656 |
CVSS v3 7.4 (重要) |
Lodash 4.17.19までのバージョン | Lodash 4.17.20 |
CVE-2019-10744 JVNDB-2019-007275 |
CVSS v3 9.1 (緊急) |
Lodash 4.17.11までのバージョン | Lodash 4.17.12 |
CVE-2019-1010266 JVNDB-2019-006557 |
CVSS v3 6.5 (警告) |
Lodash 4.17.10までのバージョン | Lodash 4.17.11 |
CVE-2018-16487 JVNDB-2018-014435 |
CVSS v3 5.6 (警告) |
Lodash 4.17.10までのバージョン | Lodash 4.17.11 |
CVE-2018-3721 JVNDB-2018-006192 |
CVSS v3 6.5 (警告) |
Lodash 4.17.4までのバージョン | Lodash 4.17.5 |
※脆弱性情報については、情報セキュリティにおける脆弱性情報に付けられている番号である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」)に準拠しています。
※CVE-2020-8203については、JVNでは影響を受ける範囲について「lodash 4.17.15まで」と記載されていますが、CVE及びNVDでは「before 4.17.20」と記載されていることから、CVE及びNVDを正としています。
※本記事における脆弱性情報は、当社が把握しているものだけであり、全ての脆弱性情報を網羅できているかはわかりません。
※本記事における脆弱性情報をご利用になる場合には、必ずCVE、JVN、NVDなどの情報を確認されたうえで、自己責任でご利用ください。
前述のように、Lodashは人気のあるライブラリであり、Web制作の現場では、よく利用されています。
しかしながら、Lodash自体のバージョンアップをしようと思っても、JavaScriptの知識が必要であったり、作業が複雑であるなどの問題に直面することもあるかと思います。
taneCREATIVE社は、「リモートによるWebアプリケーションのセキュリティ対策をパッケージ化、首都圏大手企業に提供」している点が評価され、2021年にJ-Startup NIIGATAに選定されているWeb制作会社で、LodashとJavaScriptについてもノウハウを有しています。
※「J-Startup NIIGATA」とは、経済産業省が2018年に開始したJ-Startupプログラムの地域版として、新潟発のロールモデルとなるスタートアップ企業群を明らかにし、官民連携により集中的に支援する仕組みを構築することで、新潟県におけるスタートアップ・エコシステムを強化する取組です。
Lodashを使用したWebサイト制作やアップデートを含む保守管理に関しては、こちらのお問合せよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。
2025年2月18日執筆