PDA Substitution Attack

Segurança · Abismo

Uma vulnerabilidade onde um programa deriva um PDA internamente mas aceita uma conta fornecida externamente como aquele PDA sem re-derivar e comparar o endereço, permitindo que um atacante passe um PDA diferente (derivado de seeds controlados pelo atacante) que o programa tratará como legítimo. Como PDAs são determinísticos, a única forma de garantir identidade da conta é chamar Pubkey::find_program_address (ou equivalente) com os seeds esperados dentro do programa e afirmar que o resultado é igual à chave fornecida. As restrições seeds e bump do Anchor no tipo Account automatizam essa re-derivação e verificação de igualdade.

Termos relacionados