#dusk $DUSK @Dusk $BTC 11 host queries compartían el mismo contenedor. Ocho tenían el mismo riesgo de deserialización.
Eso me hizo mirar más de cerca.
El contrato controlaba los bytes. El nodo era quien los leía. Un puntero relativo malformado podía llevar al host hacia una lectura fuera de límites. En ese punto, el problema ya no estaba contenido dentro del contrato.
Lo que llamó mi atención fue la corrección.
Dusk no corrigió ocho consultas por separado. Corregió el límite compartido y valida los datos archivados antes de deserializarlos.
Ese orden importa.
Validar primero. Deserializar después.
Aquí no había una solución alternativa útil del lado del usuario. El propio límite tenía que corregirse, y como el mismo contenedor servía a 11 consultas, corregir esa capa cubría todo el grupo.
La prueba es sencilla. Introduce datos archivados malformados en esas consultas. El nodo debería rechazarlos antes de que el contenedor intente interpretar los bytes.
Eso me hizo mirar más de cerca.
El contrato controlaba los bytes. El nodo era quien los leía. Un puntero relativo malformado podía llevar al host hacia una lectura fuera de límites. En ese punto, el problema ya no estaba contenido dentro del contrato.
Lo que llamó mi atención fue la corrección.
Dusk no corrigió ocho consultas por separado. Corregió el límite compartido y valida los datos archivados antes de deserializarlos.
Ese orden importa.
Validar primero. Deserializar después.
Aquí no había una solución alternativa útil del lado del usuario. El propio límite tenía que corregirse, y como el mismo contenedor servía a 11 consultas, corregir esa capa cubría todo el grupo.
La prueba es sencilla. Introduce datos archivados malformados en esas consultas. El nodo debería rechazarlos antes de que el contenedor intente interpretar los bytes.