Parse Server — это серверная часть с открытым исходным кодом, которую можно развернуть в любой инфраструктуре, поддерживающей Node.js. До версий 8.6.3 и 9.1.1-alpha.4 злоумышленник, не прошедший проверку подлинности, мог подделать токен аутентификации Google с параметром `alg: "none"`, чтобы войти в систему как любой пользователь, связанный с учетной записью Google, не зная его учетных данных. Это затрагивает все развертывания с включенной аутентификацией Google.
Исправление в версиях 8.6.3 и 9.1.1-alpha.4 жестко кодирует ожидаемый алгоритм RS256 вместо доверия к заголовку JWT и заменяет специальный сборщик ключей адаптера Google на jwks-rsa, который отклоняет неизвестные идентификаторы ключей. В качестве обходного пути отключите аутентификацию Google до тех пор, пока обновление не станет возможным.
Показать оригинальное описание (EN)
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.3 and 9.1.1-alpha.4, an unauthenticated attacker can forge a Google authentication token with `alg: "none"` to log in as any user linked to a Google account, without knowing their credentials. All deployments with Google authentication enabled are affected. The fix in versions 8.6.3 and 9.1.1-alpha.4 hardcodes the expected `RS256` algorithm instead of trusting the JWT header, and replaces the Google adapter's custom key fetcher with `jwks-rsa` which rejects unknown key IDs. As a workaround, dsable Google authentication until upgrading is possible.
Характеристики атаки
Последствия
Строка CVSS v4.0