- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。
taneCREATIVEの「ちほうタイガー」です。
この記事は、D3.jsのバージョンと脆弱性への対応状況についてまとめたもので、2025年2月10日に執筆しています。
D3.jsは、Webブラウザ上で高度なデータ可視化を実現するJavaScriptライブラリであり、Observable社を中心としたコミュニティによって開発・サポートされています。
D3.jsのアクティブインストール数などの情報は見つかっていませんが、公式GitHubリポジトリでは現在10万以上のstarを獲得しており、非常に人気の高いライブラリであるという印象です。
一方で、人気が高いほど攻撃対象になるリスクもあるため、脆弱性への適切な対応が重要になります。
この記事では、企業のWeb担当の皆様に向けて、D3.jsの概要並びに、脆弱性及びその対応状況をご紹介することで、D3.js自体については安心して使用していただけるようにしたいと思います。
少しでも皆様のお役に立てる記事にできればと思います。
どうぞよろしくお願い致します。
前述の通り、D3.js(Data-Driven Documents)は、Webブラウザ上で高度なデータ可視化を実現できるオープンソースのJavaScriptライブラリです。
SVGやCanvasを活用して動的なグラフ、チャート、マップなどを簡単に作成でき、複雑なデータを直感的に表現することが可能であり、データとDOM(Document Object Model)を効果的に連携させることで、インタラクティブなアニメーションも容易に実装できることから、学術研究からビジネスのデータ分析まで、近年多くのWebサイトで利用されています。
一方で、利用者の多いライブラリは、攻撃のターゲットにされる可能性があるため、当社では、脆弱性に対する対応が遅い、もしくは対応しないライブラリは、クライアントにお勧めしていません。
D3.jsについては、リリース以降、脆弱性は見つかっていないこと、定期的なバージョンアップがされていることから、2025年2月10日現在、セキュリティ面での問題はないと考えております。
公式サイトに直接的な記載はありませんが、D3.jsは、セマンティックバージョニングに近いバージョニングを採用しており、左からメジャーバージョン、マイナーバージョン、パッチバージョンの3つの数字で構成されています。
2025年2月10現在、D3.jsの最新バージョンは7.9.0です。
通常のオープンソースソフトウェアでは、公式のサポート(新機能の追加、不具合の改修、セキュリティパッチの提供)は最新パッチバージョンのみを対象としており、D3.jsでも同様の対応が行われていると考えられます。
2025年2月10日現在での、D3.jsのバージョン情報は次の通りです。
バージョン | リリース日 | サポート期限 | 修正された脆弱性 |
7.9.0 | 2024年3月13日 | サポート中 | - |
7.8.5 | 2023年6月3日 | 2024年3月13日 | - |
7.8.4 | 2023年4月1日 | 2023年6月3日 | - |
7.8.3 | 2023年3月25日 | 2023年4月1日 | - |
7.8.2 | 2023年1月19日 | 2023年3月25日 | - |
7.8.1 | 2023年1月12日 | 2023年1月19日 | - |
7.8.0 | 2022年12月21日 | 2023年1月12日 | - |
※上記の内容は、GitHubの情報を正として、バージョン7.8.0までを掲載しています。
D3.jsの最新バージョンは7.9.0であり、当社が把握している限り、CVEにて採番された脆弱性情報はありません。
なお、「D3.js 脆弱性」で検索をすると、CVE-2017-16044に関する情報が見つかるかと思います。
こちらついては、NVDサイトなどに「環境変数を乗っ取る目的で公開された悪質なモジュール。npmによって公開が解除された」と記載があり、当社では、悪意あるtypo squattingの事例(正規のパッケージ名と同一ないし非常に似た名前で悪意あるコードを公開する攻撃手法の例)であり、正規のD3.jsに関する脆弱性ではないと考えております。
※上記見解はあくまで当社の見解であり、本記事における脆弱性情報をご利用になる場合には、必ずJVN、NVDなどの情報を確認されたうえで、自己責任でご利用ください。
前述のように、D3.jsは人気のあるライブラリであり、Web制作の現場では、よくお世話になるプラグインです。
しかしながら、D3.js自体のバージョンアップをしようと思っても、JavaScriptの知識が必要であったり、作業が複雑であるなどの問題に直面することもあるかと思います。
taneCREATIVE社は、「リモートによるWebアプリケーションのセキュリティ対策をパッケージ化、首都圏大手企業に提供」している点が評価され、2021年にJ-Startup NIIGATAに選定されているWeb制作会社で、D3.jsとJavaScriptについてもノウハウを有しています。
※「J-Startup NIIGATA」とは、経済産業省が2018年に開始したJ-Startupプログラムの地域版として、新潟発のロールモデルとなるスタートアップ企業群を明らかにし、官民連携により集中的に支援する仕組みを構築することで、新潟県におけるスタートアップ・エコシステムを強化する取組です。
D3.jsを使用したWebサイト制作やアップデートを含む保守・管理に関しては、こちらのお問合せよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。
2025年2月10日執筆