注目★★★★★GitHub Advisory
Auth.js の認証バイパス脆弱性、Unicode 正規化前の検証が原因
30秒で把握
- 1Auth.js メール認証で Unicode 正規化前の @記号検証を悪用され、異なるアドレスへのマジックリンク送信を可能に
- 2next-auth < 4.24.14 / @auth/core < 0.41.3 でデフォルト normalizeIdentifier を使用している場合に影響
- 3passwordless 認証ユーザーは認証フロー・受信者チェック・バージョン更新を即座に検証
要約
Auth.js のメール/マジックリンク認証において、Unicode 正規化前にメールアドレスを検証することで、非 ASCII の @記号(U+0040 に正規化される Unicode 文字)をバイパス可能な脆弱性が存在する。攻撃者は被害者のメールアドレスを知っていれば、正規化後に異なるメールアドレスに解釈されるマジックリンクをリクエストでき、アカウント乗っ取りが可能になる。影響を受けるのは next-auth 4.0.0 以上 4.24.14 未満、または @auth/core 0.1.0 以上 0.41.3 未満で、デフォルトの normalizeIdentifier を使用しており、メール送信時に Unicode 正規化を行うライブラリを使用している場合。
あなたへの影響
この記事が日本のエンジニアに与える影響と、今日取るべきアクションは、Personal会員向けに掲載しています。
クレカ不要・いつでも解約