A vulnerability, also called account confusion, where a program deserializes an account as type A when it actually contains data for type B because both structs happen to share a compatible byte layout at the fields the program checks, enabling an attacker to substitute one account type for another to satisfy access control or arithmetic that assumes a specific type. Anchor prevents this by prepending an 8-byte discriminator (the first 8 bytes of the SHA-256 hash of the fully-qualified type name) to every account during initialization and asserting it on every subsequent access; native programs must implement equivalent discriminator logic manually.
Type cosplay é um ataque onde uma conta maliciosa se passa por outro tipo de conta — como apresentar uma carteira de estudante para conseguir desconto de idoso.
Use discriminators de Anchor (8 bytes no início de cada conta) para garantir que você está lendo o tipo correto de conta. Sempre verifique `account.discriminator`.
Desserializar dados de uma conta sem verificar o discriminator primeiro. Um atacante pode passar uma conta com dados maliciosos que, sem verificação de tipo, parecem válidos.
Sua exploração
0 termos visitados no total