PT-2026-123198

CVE-2026-96581

·

Publicado

2026-10-26

·

Atualizado

2026-10-26

Descrição por

CVSS 4.0
7.6
Alta
MétricasAV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Nome do Software Vulnerável e Versões Afetadas ash versões 1.22.0 até 3.37.1
Description Existe uma falha de bypass de autorização no ash ao utilizar multitenancy de atributos. As funções Ash.Actions.Create (lib/ash/actions/create/create.ex) e Ash.Actions.Create.Bulk (lib/ash/actions/create/bulk.ex) não limitam os registros conflitantes ao tenant da requisição ao realizar upsert na chave primária ou em uma identidade all tenants?. Um invasor pode fornecer um ID de registro pertencente a outro tenant em uma ação de criação onde upsert? está definido como true. Isso permite que o invasor leia os atributos do registro, sobrescreva seus campos e potencialmente mova o registro para seu próprio tenant ao atualizar o atributo de tenant. Isso ocorre porque as políticas de leitura e atualização não são executadas durante upserts, e as políticas de criação são aprovadas pois validam apenas o tenant do solicitante.
Recommendations Atualize o ash para a versão 3.37.2 ou posterior. Como solução temporária, adicione upsert condition expr(<tenant attribute> == ^tenant()) a cada ação de criação que realize upsert na chave primária ou em uma identidade all tenants?, garantindo que não seja combinado com return skipped upsert?.
Explorabilidade
Correção
Impactos
Pesquisadores
Fornecedores
Produtos afetados
Identificadores relacionados
GHSA-VW7C-67PF-GH96
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾