- SERVICE
Webサイト・CMSの保守管理・運用
- WORKS
- ABOUT US
- NEWS & COLUMN
- RECRUIT
皆さんこんにちは。
taneCREATIVEの「ちほうタイガー」です。
この記事は、Vue.js(ビュージェイエス)のバージョン情報とサポート期限についてまとめたもので、2025年5月22日に改訂しています。
Vue.jsはEvan Youによって開発され、現在は主にVue.jsコアチームと呼ばれる開発者コミュニティを中心として開発・サポートが提供されている、オープンソースのJavaScriptフレームワークです。
ここ数年、Vue.jsはReactと並んでモダンフロントエンドにおける選択肢として検討・採用されることが多くなりました。
当社でもVue.jsとReactは主力となりつつあります。
一方で、こういったフレームワークに関しても脆弱性が存在するため、安全で円滑なWebサイトの運用のためには、Vue.jsについても最新バージョンへのアップデートをする必要があります。
この記事では、企業のWeb担当者の皆様に向けて、Vue.jsのバージョン情報とサポート期限についてまとめた上で、Vue.jsの脆弱性についてもご紹介したいと思います。
少しでも皆様のお役に立てる記事にできればと思います。
どうぞよろしくお願い致します。
Vue.jsでは、一般的なセマンティックバージョニングが採用されています。
3つの数字の左から「メジャーバージョン.マイナーバージョン.パッチバージョン」となります。
2025年5月22日現在、Vue.jsの最新バージョンは3.5.14です。
公式が現在サポートしているのは Vue 3(2025年5月時点の最新マイナーは 3.5 系)だけです。Vue 2.7 系は 2023年12月31日に公式サポートが終了しており、今後セキュリティパッチ等を受けるには HeroDevs が提供する商用の「Vue 2 Never-Ending Support (NES)」を購入する必要があります。
公式サイトをみる限り、Vue.jsには決まったリリースサイクルはないようですが、概ね次の内容でサポートされているようです。
・現行メジャーバージョンの最新版マイナーバージョン(例:3.5.x)がフルサポート対象で、新機能、不具合修正、セキュリティパッチが提供されます。パッチ版は新機能を含まず、安定化のみを目的とします。
・新メジャーバージョンがリリースされた後、直前メジャーバージョンの最終マイナーバージョンが、そのリリース日から18ヵ月間のLTSに入り、重要な不具合修正とセキュリティパッチの提供のみが継続された後、公式サポートが終了となります。
分かりにくいのは、この「最終マイナー」がいつ確定するかは公式次第であるということです。例えば、新メジャーバージョンである3.0系統がリリースされたのは、2020年9月18日であり、その時点での直前メジャーバージョンの最終マイナーバージョンは2.6系統でしたが、その後、2022年7月1日に、公式が2.7系統をリリースし、これを直前メジャーバージョンの最終マイナーバージョンと定めたため、2.7系統の公式サポートが終了は2023年12月31日となりました。
※必要な場合は HeroDevsが提供する有償のVue 2 NESを利用して延長セキュリティサポートを受けることはできます。
Vue.jsの各バージョンについてのリリース日とサポート期限は次の通りです。
Vue.jsのバージョン | リリース日 | サポート期限 | コマーシャルサポート期限 | 最新バージョン |
3.5 | 2024年9月3日 | サポート継続中 | - | 3.5.14 |
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月4日 | 2022年7月1日 | - | 2.6.14 |
2.5 | 2017年10月13日 | 2019年2月4日 | - | 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月22日 | 2017年2月26日 | - | 2.1.10 |
2.0 | 2016年9月30日 | 2016年11月22日 | - | 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 3.7 (注意) |
・Vue.js 2系統の全てのバージョン | ・Vue.js 3.0.0 ※2系統では修正されていません |
|
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でスコアリングされてない場合には、HeroDevsの数値を記載しています。
※本記事における脆弱性情報は、当社が把握しているものだけであり、全ての脆弱性情報を網羅できているわけではありません。
※本記事における脆弱性情報をご利用になる場合には、必ずCVE、JVN、NVDなどの情報を確認されたうえで、自己責任でご利用ください。
Vue.jsのサポート終了への対応策としては、概ね次の3パターンが考えられます。
まず、検討すべきは、Vue.js 3系統最新版へのバージョンアップになります。
しかしながら、Vue.js 3系統は、Vue.js 2系統からパフォーマンスが向上している他、TypeScriptのサポート強化、Teleport、Susppense、テンプレートごとの複数のルート要素など、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に所属する謎のトラ。
2025年5月22日改訂
2024年10月2日執筆