本文へ移動
English version →
高 9.1 急ぎ度: 早めに

Parse Serverの独自認証が素通り、修正版あり

Parse Serverで、AuthAdapterを継承した独自の認証アダプターを使っていると、本来の検証処理が呼ばれず、どんな認証情報でも受け入れてしまう弱点が見つかりました。該当するのは独自の認証アダプターを組み込んだ環境で、8.6.102 より前の版と、9.0.0 以降 9.10.5-alpha.2 より前の版が対象です。修正版へ更新するとともに、自社のアプリが独自アダプターを使っているかを早めに確認してください。

CVE-2026-116163 公開 生成 AI で作成
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

認証なしでネットワーク越しに突破され得て、情報の漏えいと改ざんにつながりますが、対象は独自アダプターを使う構成に限られ、実際の攻撃で悪用されたという公表は現時点でないためです。

関係があるか

Parse Serverを自社のアプリやサービスのバックエンドに使い、AuthAdapterを継承した独自の認証アダプター(外部ログイン連携や追加の認証要素など)を組み込んでいる組織が影響を受けます。独自アダプターを使っていない環境が影響を受けるかどうかは、公表されている説明からは読み取れないため、ベンダーの告知で確認してください。

製品影響を受ける版直った版
parse-server(8.x 系) 8.6.102より前 8.6.102
parse-server(9.x 系) 9.0.0以降9.10.5-alpha.2より前 9.10.5-alpha.2

確かめ方

  1. 1アプリのリポジトリで package.json と、package-lock.json などのロックファイルを開き、parse-serverの版を確認します。
  2. 2ソースコードの中で AuthAdapter を継承したクラス(extends AuthAdapter など)がないかを検索し、独自アダプターの有無を確かめます。
  3. 3Parse Serverの起動設定にある auth の項目を見て、独自アダプターが有効になっているログイン方法を洗い出します。
  4. 4コンテナで動かしている場合は、イメージに入っているparse-serverの版を確認します。

何が起きたか

Parse Serverは、モバイルアプリやWebアプリの会員登録やログインなどを受け持つ、オープンソースのバックエンドです。この製品で、開発者が独自に作った認証アダプターが、本来行うはずの本人確認をしないまま通ってしまう弱点が見つかりました。修正前の版では、認証情報として何を送っても受け入れられるおそれがあります。

仕組みは次のとおりです。独自アダプターはAuthAdapterというクラスを継承して作ります。このとき、登録時・ログイン時・更新時の検証を行う validateSetUp、validateLogin、validateUpdate の各メソッドが、Parse Serverから呼び出されませんでした。代わりに、継承元が持つ「どんなauthDataでも受け入れる」既定の処理が使われます。開発者が検証を実装していても、その処理が動かない状態です。

攻撃者は任意のauthDataを送ることで、アカウントの新規登録、別のIDとの紐づけ、既存ユーザーとしてのログインができるとされています。独自に追加した多要素認証などの追加要素を、飛ばされるおそれもあります。

悪用の確認は公表されていません。CVSSはv3.1で7.4(高)、v4.0で9.1です。v3.1では攻撃の難しさが「高」と評価されており、環境によって悪用のしやすさが変わると考えられます。

攻撃の流れ

  1. 1

    独自アダプター使用

    アプリがAuthAdapterを継承した独自の認証アダプターでログインや登録を受け付けています。

  2. 2

    検証が呼ばれない

    アダプターに実装された検証メソッドがParse Serverから呼び出されません。

  3. 3

    既定処理が受理

    継承元のどんなauthDataでも受け入れる既定の処理が代わりに使われます。

  4. 4

    不正な認証成立

    登録、IDの紐づけ、既存ユーザーとしてのログイン、追加認証の回避が成立し得ます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

悪用に必要なのは、対象のParse Serverにネットワーク経由で到達できることだけです。事前の認証や、利用者に何かをさせる操作は必要ありません。ただし、独自の認証アダプターを使っている構成が前提になります。v3.1の評価で攻撃の難しさが「高」とされているのは、こうした環境条件が影響していると考えられます。

悪用されると、他人のアカウントとしてログインされ、そのユーザーのデータの閲覧や書き換えが行われるおそれがあります。偽のアカウントが作られたり、既存アカウントに攻撃者のIDが紐づけられたりして、正規の利用者の認証をすり抜ける足がかりにされる可能性もあります。独自に追加した認証要素が、守りとして働かなくなる点にも注意が必要です。可用性への影響は、評価上は想定されていません。

今すぐやること

  1. 1

    使っている版と独自アダプターの有無を確認する

    parse-serverの版が対象範囲に入るか、AuthAdapterを継承したアダプターがあるかを、開発・運用担当と一緒に洗い出します。

    npm ls parse-server
  2. 2

    修正版へ更新する

    8.x系は8.6.102以降へ、9.x系は9.10.5-alpha.2以降へ更新します。9.x系の安定版がどの版から直っているかは、ベンダーの告知(GitHubのセキュリティアドバイザリ)で確認してください。更新後は、ログインや登録、追加認証の動作を検証環境で試してから本番に反映します。

  3. 3

    不審なログインや登録がなかったか調べる

    更新前の期間について、見覚えのない新規登録、IDの紐づけの変更、普段と違う場所からのログインがないかをログで確認します。追加認証を求めているはずなのに、それを経ずにログインした記録がないかも見ます。

  4. 4

    疑わしいアカウントへの対応を決める

    不審な形跡があれば、該当アカウントのセッションを無効にし、紐づけられた外部IDを見直します。必要に応じて利用者への連絡も検討します。

すぐ更新できないとき

ベンダーが公表した回避策は、現時点で確認できていません。すぐに更新できない場合は、独自アダプターによるログインや登録を一時的に止められないかを検討し、サーバーへ到達できる範囲を絞ってください。いずれも暫定の措置で、修正版への更新に代わるものではありません。

背景

Parse Serverは、ユーザー管理、データの保存、認証といったアプリの裏側の機能をまとめて提供するため、社内では顧客向けアプリや業務アプリの基盤として使われます。認証が破られると、保存されているユーザーデータ全体に影響が及びやすい位置にあります。外部サービスのアカウントでログインさせる連携も、アダプターという部品で拡張できます。

今回の弱点は、認証の不備を指すCWE-287に分類されています。拡張用の部品に「何でも通す」既定の動作が含まれていて、実装側の検証が呼ばれないと、そのまま素通しになる形です。このように、検証が働かないときに安全側ではなく許可側へ倒れる設計は、認証まわりで以前から繰り返し問題になってきた種類の弱点です。自前で拡張を書いている場合は、部品の内側だけでなく、呼び出し側の挙動も確認する必要があります。

よくある質問

Q.独自の認証アダプターを使っていなければ、対応は不要ですか。
A.公表されている説明は、AuthAdapterを継承した独自アダプターを対象にしています。そのため、独自アダプターを使っていなければ影響は限られると考えられます。ただし、版が対象範囲にある場合の影響は、ベンダーの告知で確認してください。更新は計画的に進めることをお勧めします。
Q.自社で追加の認証要素を実装していれば、守られているのではありませんか。
A.守られていない可能性があります。この弱点では、独自に実装した検証メソッドが呼び出されないため、追加の認証要素を飛ばされるおそれがあると説明されています。
Q.すでに攻撃されているのですか。
A.実際の攻撃で悪用されたという公表は、現時点でありません。ただし、修正内容は公開されているため、更新が遅れた環境は狙われやすくなります。ベンダーの告知や関連情報を継続して確認してください。

まだ分かっていないこと

  • 実際の攻撃で悪用されているかどうかは公表されていません。
  • 9.x系で、安定版のどの版から修正が入っているかは、公表された情報だけでは明らかになっていません。9.10.5-alpha.2は先行版(alpha)の表記です。
  • 独自アダプターを使っていない環境が影響を受けるかどうかは、現時点で明らかになっていません。

この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。

影響パッケージ

種類パッケージ影響を受ける版直った版
parse-community parse-server
8.6.102 未満
8.6.102
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Parse Server before 8.6.102 and 9.0.0 before 9.10.5-alpha.2 contains an authentication bypass because the validateSetUp, validateLogin, and validateUpdate methods of custom adapters subclassing AuthAdapter are never called, and an inherited default that accepts any authData is used instead. Attackers can supply arbitrary authData to sign up, link identities, log in as existing users, or skip custom additional authentication factors.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく