Next.js の脆弱性 CVE-2024-51479 が FIX:認証バイパスと広範な影響

CVE-2024-51479: Next.js Authorization Bypass Vulnerability Affects Millions of Developers

2024/12/18 SecurityOnline — 世界中の開発者が愛用する React フレームワーク Next.js が公開したのは、機密性の高いアプリケーション・データへの不正アクセスを許す、セキュリティ脆弱性の存在である。この脆弱性 CVE-2024-51479 (CVSS:7.5) は、IERAE – GMO Cyber​​security の tyage により発見されたものであり、Next.js バージョン 9.5.5 〜14.2.14 に影響を及ぼすという。

この脆弱性は、Next.js ミドルウェアの認証バイパスの問題に起因する。Next.js のセキュリティ・アドバイザリには、「Next.js アプリケーションが、ミドルウェアでパス名に基づく認証を実行しているケースにおいて、アプリケーションのルート・ディレクトリ直下にあるページで、この認証がバイパスされる可能性が生じる」と記されている。

つまり、それらのページが認証チェックにより保護されるはずであっても、脆弱な Next.js アプリケーションのルート・レベルに存在するページでは、攻撃者による不正アクセスが起こり得ることにある。

Next.js は広く使用されているため、この脆弱性の影響は計りしれない。現実に、数多くの有名な企業/組織が Web アプリケーションに Next.js を利用しており、機密性の高いユーザー・データやビジネス情報が漏洩する可能性が生じている。

幸いなことに、すでに Next.js チームは、バージョン 14.2.15 以降において、脆弱性 CVE-2024-51479 に対処している。開発者に対して強く推奨されるのは、アプリケーションを最新の Next.js バージョンにより、ただちにアプリケーションを更新することである。

Next.js を作成するプラットフォーム Vercel を使用している場合に、Next.js のバージョンとは無関係に、この脆弱性は自動的に軽減されている。つまり、Vercel でホストされているアプリケーションでは、セキュリティが強化さていることになる。

この脆弱性について、責任を持って開示してくれた tyage に、Next.js チームは謝意を示している。この報告により、脆弱性 CVE-2024-51479 が悪用される前に、パッチをリリースできたと述べている。