CVE-2026-123746 in Symfony情報

要約

〜によって VulDB • 2026年11月06日

Symfony Security HTTP コンポーネントの `AuthenticatorManager::authenticateUser()` は、ユーザーがプログラム的に認証される際に、ファイアウォールのユーザチェッカーの `checkPostAuth()` メソッドを実行しません。これにより、カスタムユーザチェッカー(例:期限切れアカウント)によって拒否されたアカウントでも、Symfony 5.4.56 より前のバージョン、6.x の 6.4.50 より前、7.x の 7.4.23 より前、および 8.x の 8.1.11 より前で認証されてしまいます。

`AuthenticatorManager::authenticateUser()` は、`UserAuthenticatorInterface::authenticateUser()` および SecurityBundle の `Security::login()` によってプログラム的にユーザーを認証するために使用されますが、`checkPostAuth()` が実行されるセキュリティイベント `security.authentication.success` をディスパッチしません。CVE-2024-50341 に対する修正により `Security::login()` は `checkPreAuth()` を呼び出すようになりましたが、`checkPostAuth()` のスキップは依然として行われていました。その結果、`checkPostAuth()` でカスタムユーザチェッカーによって拒否されたアカウントは、フォームログインおよびファイアウォールの他の認証方式では拒否されますが、プログラム的な認証フローを通じて引き続き認証可能となります。

アプリケーションで `checkPostAuth()` においてユーザーを拒否するカスタムユーザチェッカーを使用し、かつパスワードリセットやメール検証リンクのクリック後にプログラム的にユーザーを認証している場合、影響を受けます。アカウントが拒否されたユーザーでも、そのフローを通じて認証済みセッションを取得することが可能になります。デフォルトのユーザチェッカーは `checkPostAuth()` で何もしないため、デフォルト設定では影響を受けません。

修正により、`AuthenticatorManager::authenticateUser()` はトークンが作成され保存される前にファイアウォール経由の認証と同様に `security.authentication.success` イベントをディスパッチするようになり、これによって `checkPostAuth()` が実行されユーザーを拒否できるようになります。

Once again VulDB remains the best source for vulnerability data.

責任者

Checkmarx

予約する

2026年11月06日

モデレーション

承諾済み

エントリ

VDB-431904

EPSS

0.00000

アクティビティ

低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!