- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。taneCREATIVEの「ちほうタイガー」です。
この記事は2024年10月2日に執筆しています。
今回はVue.js(ビュージェイエス)のバージョン情報とサポート期限についてまとめてみたいと思います。
Vue.jsはEvan Youによって開発され、現在は主にVue.jsコアチームと呼ばれる開発者コミュニティを中心として開発・サポートが提供されている、オープンソースのJavaScriptフレームワークです。
ここ数年、Vue.jsはReactと並んでモダンフロントエンドにおける選択肢として検討・採用されることが多くなりました。
当社でもVue.jsとReactは主力となりつつあります。
一方で、こういったフレームワークに関しても脆弱性が存在するため、安全で円滑なWebサイトの運用のためには、Vue.jsについても最新バージョンへのアップデートをする必要があります。
この記事では、企業のWeb担当者の皆様に向けて、Vue.jsのバージョン情報とサポート期限についてまとめた上で、Vue.jsの脆弱性についてもご紹介したいと思います。
少しでも皆様のお役に立てる記事にできればと思います。
どうぞよろしくお願い致します。
Vue.jsでは、一般的なセマンティックバージョニングが採用されています。
3つの数字の左から「メジャーバージョン.マイナーバージョン.パッチバージョン」となります。
2024年10月2日現在、Vue.jsの最新バージョンは3.5.10です。
公式がサポートをしているのはVue.js 3.5系統のみですが、2.7系統については延長サポートが存在します。
公式サイトをみる限り、Vue.jsには決まったリリースサイクルはないようですが、概ね次の内容でサポートされているようです。
・基本的には、最新のメジャーバージョンの最終パッチバージョンのみがサポート対象となり、セキュリティパッチの提供、不具合の修正、新機能の追加が行われます。
・例外として、最新のメジャーバージョンがリリースされると、一つ前のメジャーバージョンにおける最終マイナーバージョンに対しては、リリース日から18ヵ月間にわたって重要なバグ修正とセキュリティアップデートが提供されます。
Vue.jsの各バージョンについてのリリース日とサポート期限は次の通りです。
Vue.jsのバージョン | リリース日 | サポート期限 | コマーシャルサポート期限 | 最新バージョン |
3.5 | 2024年9月3日 | サポート継続中 | - | 3.5.10 |
3.4 | 2023年12月29日 | 2024年9月3日 | - | 3.4.38 |
3.3 | 2023年5月11日 | 2023年12月29日 | - | 3.3.13 |
3.2 | 2021年8月9日 | 2023年5月11日 | - | 3.2.47 |
3.1 | 2021年6月7日 | 2021年8月9日 | - | 3.1.5 |
3.0 | 2020年9月18日 | 2021年6月7日 | - | 3.0.11 |
2.7 | 2022年7月1日 | 2023年12月31日 ※1 | サポート継続中 ※2 | 2.7.16 |
2.6 | 2019年2月5日 | 2022年7月1日 | - | 2.6.14 |
2.5 | 2017年10月13日 | 2019年2月5日 | - | 2.5.22 |
2.4 | 2017年7月13日 | 2017年10月13日 | - | 2.4.4 |
2.3 | 2017年4月27日 | 2017年7月13日 | - | 2.3.4 |
2.2 | 2017年2月26日 | 2017年4月27日 | - | 2.2.6 |
2.1 | 2016年11月23日 | 2017年2月26日 | - | 2.1.10 |
2.0 | 2016年9月30日 | 2016年11月23日 | - | 2.0.8 |
※グレーのバージョンは公式のサポートが終了しています。
※1 2.7系統については、リリース後に3.3系統がリリースされましたが、上記サポートポリシーに則りリリース日から18ヵ月間サポートが継続されました。ただしサポートア内容は重要なバグ修正とセキュリティアップデートに留められています。このあたりは、公式サイトの「Vue 2 はまだサポートされているのでしょうか?」をご参照ください。
※2 2.7系統については、後述のコマーシャルサポート(Vue NES 2.8系統)が存在します。
Vue.jsはフロントエンド開発で利用するJavaScriptフレームワークであるため、サーバーサイドの攻撃(SQLインジェクションなど)には直接関与しないことから、発見されている脆弱性の数は少なめです。
ただし、クライアントサイドの脆弱性(例:クロスサイトスクリプティングなど)はある可能性がありますので、セキュリティ修正を含むバージョンにアップグレードすることが推奨されます。
Vue.jsで開発したアプリケーションに影響を与える脆弱性情報で、当社が把握しているものは次の通りです。
脆弱性情報 | 深刻度 | 影響を受けるバージョン | 修正されたバージョン |
CVSS v3 4.8 (警告) |
・Vue.js 2系統の全てのバージョン | ・Vue.js 3.0.0 ※2系統では修正されていません |
※脆弱性情報については、情報セキュリティにおける脆弱性情報に付けられている番号であるCommon Vulnerabilities and Exposures(本記事では「CVE」とします)の順序に従って掲載しています。
※深刻度については、共通脆弱性評価システムCVSS v3に基づいています。本記事では、CVSS v3にて緊急(9.0~10.0)、重要(7.0~8.9)、警告(4.0~6.9)に区分されるもののみを掲載しており、その他の情報については、JVN iPediaなどでご確認ください。
※深刻度の数値はJapan Vulnerability Notes(本記事では「JVN」とします)及び、JVNが評価を合わせている米国国立標準技術研究所(NIST)が運営する脆弱性データベースであるNational Vulnerability Database(以下「NVD」)に準拠しています。ただし、上記脆弱性はNVDでも「not yet provided」であるため、HeroDevsの数値を記載しています。
※本記事における脆弱性情報は、当社が把握しているものだけであり、全ての脆弱性情報を網羅できているわけではありません。
※本記事における脆弱性情報をご利用になる場合には、必ずCVE、JVN、NVDなどの情報を確認されたうえで、自己責任でご利用ください。
Vue.jsのサポート終了への対応策としては、概ね次の3パターンが考えられます。
まず、検討すべきは、Vue.js 3系統最新版へのバージョンアップになります。
しかしながら、Vue.js 3系統は、Vue.js 2系統からパフォーマンスが向上している他、TypeScriptのサポート強化、Teleport、Suspense、テンプレートごとの複数のルート要素など、Vue.js 2系統にはない新機能が含まれています。
公式サイトでも「大きなアップグレード(major breaking upgrades)」で「長期的には避けるつもり」と記載されているほどの変化がありますので、Vue.js 2系統からVue.js 3系統へとバージョンアップをする場合には、慎重にアップデートをする必要があるだけでなく、大規模サイト等の場合には、ケースによってかなりの工数がかかる可能性があります。
バージョンアップをする必要性や、どの程度の工数がかかるかお知りになりたい場合には、こちらのお問合せよりお気軽にご相談ください。
次に、Vue.js 2系統には、Vue.js 2.7系統の事実上の延長サポート(Extended LTS)であるVue 2 NESが存在しますので、大規模なWebサイト等ではこちらを検討することもできます。
このサービスでは、必要であればSLA(サービス・レベル・アグリーメント)を提供することも可能で付きで、セキュリティとブラウザの互換性の修正を受け続けることができるようです。
曖昧な記載になっているのは、当社として延長サポートを実施した経験がないからになります。
ただ、調べた限りでは、固定の価格表が存在せず上記ページよりお問合せをする必要であるようです。
Web制作の現場で多いのが、5年程度経過したWebサイトはデザインごとリニューアルしてしまうという手法です。
この場合、そもそもVue.jsの最新バージョンで作り直しますので、問題も解決します。
前述のように、Vue.jsは近年急激にシェアを伸ばしているJavaScriptフレームワークであり、いわゆるWeb制作の現場でもReactと並んで主力となりつつあります。
しかしながら、自社内でバージョンアップを行うにも属人化が発生してリソースが足りなくなったり、管理するWebサイト・Webシステムの数が増え、あるいはWebサイト等の規模が大きくなるにつれて社内での対応が困難になることがあります。
taneCREATIVE社は、「リモートによるWebアプリケーションのセキュリティ対策をパッケージ化、首都圏大手企業に提供」している点が評価され、2021年にJ-Startup NIIGATAに選定されているWeb制作会社で、Vue.jsでの開発実績も有します。
※「J-Startup NIIGATA」とは、経済産業省が2018年に開始したJ-Startupプログラムの地域版として、新潟発のロールモデルとなるスタートアップ企業群を明らかにし、官民連携により集中的に支援する仕組みを構築することで、新潟県におけるスタートアップ・エコシステムを強化する取組です。
Vue.jsでのWeb制作、Webシステム開発やアップデートを含む保守管理に関しては、こちらのお問合せよりお気軽にご相談ください。
taneCREATIVEに所属する謎のトラ。