#dusk $DUSK @Dusk $BTC 11 hosts queries compartilhavam o mesmo wrapper. Oito tinham o mesmo risco de desserialização.

Isso me fez olhar com mais atenção.

O contrato controlava os bytes. O nó era quem os lia. Um ponteiro relativo malformado poderia empurrar o host para uma leitura fora dos limites. A partir daí, o problema não estava mais contido dentro do contrato.

O que chamou minha atenção foi a correção.

A Dusk não corrigiu oito queries separadamente. Ela corrigiu a fronteira compartilhada e valida os dados arquivados antes de desserializá-los.

Essa ordem importa.

Valide primeiro. Desserialize depois.

Não havia um workaround útil do lado do usuário aqui. A própria fronteira precisava ser corrigida e, como o mesmo wrapper servia 11 queries, corrigir essa camada cobriu todo o grupo.

O teste é simples. Alimente dados arquivados malformados nessas queries. O nó deve rejeitá-los antes que o wrapper tente interpretar os bytes.