API Omnivore (packages/api) до исправления в коммите abf53d6 содержит обход аутентификации при проверке токена входа Apple. Функция decodeAppleToken извлекла поле «alg» из заголовка JWT, предоставленного злоумышленником, и передала его в качестве единственного разрешенного алгоритма в jwt.verify(). Используя jsonwebtoken v8 (который не проверяет совместимость ключа/алгоритма), злоумышленник может установить alg=HS256 и подписать поддельный токен, используя общедоступный открытый ключ RSA Apple в качестве секрета HMAC, минуя проверку подписи и выдавая себя за любую учетную запись, связанную с Apple.
Показать оригинальное описание (EN)
The Omnivore API (packages/api) before the fix in commit abf53d6 contains an authentication bypass in Apple sign-in token verification. The decodeAppleToken function extracted the 'alg' field from the attacker-supplied JWT header and passed it as the sole allowed algorithm to jwt.verify(). Using jsonwebtoken v8 (which does not validate key/algorithm compatibility), an attacker can set alg=HS256 and sign a forged token using Apple's publicly available RSA public key as the HMAC secret, bypassing signature verification and impersonating any Apple-linked account.
Характеристики атаки
Последствия
Строка CVSS v4.0