概要
Parse ServerのLiveQuery機能において、正規表現サービス拒否(ReDoS: Regular Expression Denial of Service)の脆弱性(CVE-2026-30925)が報告されました。この脆弱性は、悪意のあるクライアントが特定の正規表現パターンを含むLiveQueryをサブスクライブすることで、Node.jsのイベントループがブロックされ、結果としてParse Server全体が応答不能になる可能性があるというものです。
この問題は、LiveQueryのサブスクリプションマッチングにおいて、JavaScriptで正規表現が評価される際に発生します。通常のRESTやGraphQLクエリはデータベースエンジンによって正規表現が評価されるため、この脆弱性の影響は受けません。
影響範囲
本脆弱性の影響を受けるのは、LiveQueryが有効になっているすべてのParse Serverデプロイメントです。
- 影響を受けるバージョン: Parse Server 9.5.0-alpha.14 および 8.6.11 より前のバージョン
- 修正済みバージョン: Parse Server 9.5.0-alpha.14 および 8.6.11
想定される影響
攻撃が成功した場合、Parse ServerのNode.jsイベントループがブロックされ、サーバー全体が応答不能に陥る可能性があります。これにより、Parse Serverを利用しているすべてのクライアントがサービスを利用できなくなる、サービス拒否(DoS)の状態が発生する恐れがあります。
攻撃成立条件・悪用状況
攻撃者は、クライアントサイドアプリで公開されているアプリケーションIDとJavaScriptキーを知っているだけで、この脆弱性を悪用できると報告されています。これらの情報は通常、クライアントアプリケーションから容易に取得可能です。
現在のところ、この脆弱性が実際に悪用されたという具体的な報告は確認されていません。
推奨対策
今すぐできる対策
- Parse Serverのアップデート:
本脆弱性は、Parse Serverの以下のバージョンで修正されています。速やかに最新の修正済みバージョンへアップデートすることを強く推奨します。
- バージョン 9.5.0-alpha.14 以降
- バージョン 8.6.11 以降
中長期的な対策
- セキュリティ情報の継続的な監視:
Parse Serverおよび利用しているライブラリに関するセキュリティ情報を継続的に監視し、常に最新の状態を保つようにしてください。
一時的な緩和策
直ちにアップデートが困難な場合、LiveQuery機能がビジネス要件上必須でないのであれば、一時的にLiveQueryを無効にすることも緩和策の一つとして考えられます。ただし、これによりLiveQueryに依存する機能が利用できなくなる点に注意が必要です。
確認方法
ご自身のParse Server環境が本脆弱性の影響を受けるかどうかは、以下の点を確認することで判断できます。
- Parse Serverのバージョン: 現在稼働しているParse Serverのバージョンが、影響を受けるバージョン(9.5.0-alpha.14 および 8.6.11 より前)に該当するかどうかを確認してください。
- LiveQueryの有効化状況: Parse ServerのデプロイメントでLiveQuery機能が有効になっているかどうかを確認してください。