Você será afetado se o aplicativo registrar o plugin `@ better-auth/scim` e permitir que os usuários autentificados criem fichas SCIM. A política padrão `canGenerateToken` foi afetada, e as políticas personalizadas foram afetadas quando eles não rejeitaram IDs de provedores já usados por outros provedores de contas. O problema de colisão provedor- ID requer adicionalmente SSO, SAML, OIDC, OAuth genérico, ou provedores sociais cujas linhas de contas usem IDs de provedor personalizados, além das linhas de contas existentes sob esses IDs. Os problemas de desprovimentação e atualização de e- mail requerem apenas o plug- in SCIM e um token válido do portador do SCIM. Versão publicada de `@ better-auth/scim@ 1.4.0 -Beta. 27 ` através de ` 1.6.21 " são afetados. Versão beta do ` 1.7.0 -Beta. 0 ` através de ` 1.7.0 -Beta. 9 " são afetados. Atualizar para `@ better-auth/scim@ 1.6.22 ` ou ` 1.7.0 -Beta. 10 `. `@ better-auth/scim` usou o mesmo ID de provedor lógico para a configuração do provedor SCIM e a propriedade da conta. A emissão de tokens do SCIM não rejeitou todos os espaços de nomes do fornecedor de contas. Um usuário autenticado poderia, portanto, confetar um token SCIM cujo ID do provedor correspondesse a um SSO, SAML, OIDC, OAuth genérico ou provedor social existente. As rotas de usuário SCIM selecionaram linhas de contas por aquele ID do fornecedor e trataram esses usuários como gerenciados pelo SCIM, mesmo quando o token SCIM nunca os havia providenciado.

O mesmo caminho de gravação tinha 2 problemas adicionais de validação. Primeiro, o SCIM ` ativo: false ' não foi modelado, para que os provedores de identidade pudessem receber uma resposta bem- sucedida enquanto o usuário permaneceu ativo. Em segundo lugar, as atualizações SCIM PUT e PATCH mudaram os endereços de e- mail globais sem a mesma verificação de singularidade usada pela criação, e o `emailVerified` permaneceu inalterado após uma reatribuição de e- mail. O middleware do portador SCIM decodificou o ID do fornecedor do token do portador e carregou a linha correspondente `scimProvider`. Listado de usuários e procura de usuário então questionou linhas de contas comuns por ` account.providerId`. Isso fez do ID do provedor uma chave de autorização controlada pelo usuário. Se um token SCIM usasse um ID de provedor que pertencia ao SSO, SAML, OIDC, OAuth genérico ou outro provedor de conta, as rotas SCIM poderiam resolver usuários que o token não possuía. O caminho de maior impacto foi a exclusão não- organização. Nas versões afetadas, `DELETE /scim/v 2 /Usuários/:id` para um token SCIM não organizado excluiu o usuário global Melhor Auth e suas sessões após resolver o usuário através do ID do provedor coliding. Um usuário autenticado de baixas privilégios pode, portanto, excluir usuários associados a um espaço de nomes do provedor colisionante.

Os tokens de game de organização também foram afetados pela colisão provedor- ID. Se o ID do provedor de colisão corresponder à conexão SSO ou OIDC da organização, SCIM PUT ou PATCH poderá resolver um membro da organização provisto por SSO e reescrever campos de perfil global. Antes do patch, mudar o e- mail de um usuário através do SCIM pulou a verificação de singularidade e deixou o `emailVerified` inalterado. A desativação do SCIM teve um modo de falha separado. O atributo "ativo" do SCIM estava ausente dos esquemas do usuário e do mapeamento do PATCH, por isso "ativo: false" foi removido de pedidos. Um sinal de desativação padrão do fornecedor de identidade pode devolver o sucesso enquanto o usuário manteve sua identidade, sessões e acesso. Corregido em `@ better- auth/scim@ 1.6.22 ` e `@ melhor- auth/scim@ 1.7.0 -Beta. 10 `.

O patch rejeita IDs do provedor SCIM que colidem com provedores integrados, provedores sociais configurados, provedores genéricos de OAuth e linhas do provedor SSO antes de um sinal ser cunhado. Ele também abrange a exclusão do SCIM para a ligação da conta do SCIM quando o usuário tem outras identidades. O usuário global é excluído somente quando a conta SCIM é a única conta vinculada do usuário. O patch modela o atributo `ativo` do SCIM. Aplicativo de nível SCIM mapeia desativação `active: false` para o estado de usuário deficiente forçado do plug- in do administrador e revoga sessões. Se o plug- in de administrador estiver ausente, o pedido é rejeitado em vez de ser abandonado silenciosamente. O patch adiciona a verificação de singularidade do e- mail para atualizações do SCIM PUT e PATCH e reinicia o `emailVerified` sempre que o SCIM altera o e- mail de um usuário.

Se você não puder atualizar imediatamente, configure `canGenereteToken` para rejeitar IDs de provedor que correspondam a qualquer ID de provedor de conta usado pelo seu aplicativo. Inclua provedores integrados, provedores sociais, provedores genéricos de OAuth, SSO, SAML e ID de provedores da OIDC. Restringi também quais usuários podem gerar fichas SCIM. Não confie em relatórios de desativação do seu provedor de identidade até que você tenha atualizado. Confirme que os usuários desativados perderam o acesso, especialmente se o seu provedor de identidade desprovissões através de ` ativo: false '.

Se você usar a ligação da conta SCIM, evite regras de ligação amplas baseadas em domínios. Um domínio de e- mail compartilhado não é prova de que um token SCIM possa gerenciar um usuário pré- existente. Prefere cheques de organização- membro ou um predicado de aplicativo explícito. Auditar as linhas existentes do `scimProvider` e remover qualquer linha cujo `providerId` corresponda a outro espaço de nomes do provedor de conta.

Com o problema de colisão provedor- ID, um atacante autenticado pode agir através de um espaço de nomes do provedor que não possuía. Eles poderiam listar e ler recursos de usuário SCIM para usuários ligados ao provedor de colisão. Eles também poderiam atualizar campos de perfil e conta e excluir registros de usuário globais no caminho de não organização. Em implantações com ângulo de organização, um token colidindo pode mutar campos de perfil global para membros da organização provistos por SSO. Com a questão de desativação, um usuário terminada poderá permanecer ativo após um provedor de identidade relatar a desprovisão bem- sucedida através de ` ativo: false '. Com a questão de atualização de e- mail, o SCIM pode atribuir o e- mail de um usuário a outro usuário em adaptadores sem um índice único forçado. Isso poderia corromper o login e a busca com teclado de e- mail, enquanto os adaptadores SQL poderiam levantar um erro de adaptação não manipulado.

Encontrado através da validação interna. Registro de aconselhamento: GHSA-rjg 6 - 39 jm- rgg 4. Não há nenhum identificador adicional listado.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 24 T 15: 40: 54.000 Z e lista a sua última modificação como 2026 - 07 - 24 T 15: 40: 54.000 Z. Gravidade: Crítico. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H.

Software afetado e informações de versão: pacote npm @better-auth/scim — ECOSISTEM: introduzido 1.4.0 -Beta. 27, corrigido 1.6.22 Pacote npm @better- auth/ scim — ECOSISTEM: introduzido 1.7.0 -Beta. 0, corrigido 1.7.0 -Beta. 10. Classificação e evidência: identificadores de fraqueza CWE- 20, CWE- 639, CWE- 862. O registro contém 6 suporte de referências nestes tipos: WEB, PACKAGE.