NextAuth.js обеспечивает аутентификацию для Next.js. До @auth/core 0.41.3 и next-auth 4.24.15 и 5.0.0-beta.32 дефолтный нормализатор, используемый в процессе входа в систему по электронной почте и магической ссылке, проверяет адрес перед применением нормализации Юникода. Адрес может содержать символ Юникода, например U+FF20 FULLWIDTH COMMERCIAL AT, который не является знаком ASCII, но канонизируется до знака ASCII при нормализации NFKC или NFKD.
Адрес проходит проверку нормализатора по одному знаку, но нижестоящая почтовая библиотека sendVerificationRequest или служба доставки, которая нормализует адрес, может затем увидеть два разделителя знака и доставить ссылку для входа без пароля получателю, контролируемому злоумышленником. На приложения это влияет, когда поставщик электронной почты использует встроенный нормализатор, а не пользовательский нормальный идентификатор, а нижестоящий отправитель применяет нормализацию Юникода. Злоумышленник, знающий адрес электронной почты жертвы, может запросить неправильно маршрутизированную магическую ссылку и войти в систему как жертва без взаимодействия с жертвой.
Эта проблема исправлена в @auth/core 0.41.3 и next-auth 4.24.15 и 5.0.0-beta.32.
Показать оригинальное описание (EN)
NextAuth.js provides authentication for Next.js. Prior to @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32, the defaultNormalizer used by the email and magic-link sign-in flow validates an address before applying Unicode normalization. An address can contain a Unicode character such as U+FF20 FULLWIDTH COMMERCIAL AT that is not ASCII at-sign but canonicalizes to an ASCII at-sign under NFKC or NFKD normalization. The address passes the normalizer's single-at-sign check, but a downstream sendVerificationRequest mail library or delivery service that normalizes the address can then see two at-sign separators and deliver the passwordless sign-in link to an attacker-controlled recipient. Applications are affected when the email provider uses the built-in normalizer rather than a custom normalizeIdentifier and the downstream sender applies Unicode normalization. An attacker who knows a victim's email address can request the misrouted magic link and sign in as the victim without victim interaction. This issue is fixed in @auth/core 0.41.3 and next-auth 4.24.15 and 5.0.0-beta.32.
Характеристики атаки
Последствия
Строка CVSS v4.0