parse-server: Exposição de dados sensíveis em /login e /verifyPassword com MFA e CLP restritivo
Quando MFA está ativado e a permissão 'get' na classe '_User' é negada via CLP, os endpoints '/login' e '/verifyPassword' anteriormente recorriam à linha bruta do banco de dados na re-busca negada, expondo dados sensíveis como authData (incluindo segredos TOTP e códigos de recuperação) e campos ocultos por protectedFields.
O que mudou
Quando MFA está ativado e a permissão 'get' na classe '_User' é negada via CLP, os endpoints '/login' e '/verifyPassword' anteriormente recorriam à linha bruta do banco de dados na re-busca negada, expondo dados sensíveis como authData (incluindo segredos TOTP e códigos de recuperação) e campos ocultos por protectedFields. Agora, na re-busca negada, esses endpoints retornam apenas a identidade do usuário (mais token de sessão para '/login').
Quem isso afeta
Instâncias do Parse Server com MFA ativado e permissão 'get' de '_User' negada via CLP, executando versão 9.8.0 ou posterior.
O que fazer hoje
Atualize para uma versão corrigida do Parse Server para evitar exposição de dados sensíveis do usuário.