Polygon affirme que les hard forks Austin et Kyoto ont corrigé des problèmes de sécurité sur son réseau PoS
Points clés
- •Kyoto met à niveau Heimdall vers v0.11.0 et rejette les transactions qui dépassent un seuil d’imbrication avant leur passage en consensus.
- •Austin corrige Bor en imposant une limite stricte par bloc sur le gas de state-sync et en supprimant le champ TxDependency du format de transmission.
- •Polygon a indiqué qu’aucune des vulnérabilités n’avait été exploitée sur le mainnet et que les correctifs avaient été appliqués avant l’activation des forks.
- •Tous les nœuds doivent exécuter Bor v2.10.0, tandis que les validateurs et les nœuds complets doivent utiliser Heimdall 0.11.0, sous peine de diverger de la chaîne canonique.
- •Polygon a précisé que les mises à jour ne nécessitent qu’une modification binaire, sans migration d’état, changement de genesis ni resynchronisation complète.

Polygon Labs a discrètement publié deux hard forks qui ont corrigé un certain nombre de problèmes de sécurité sur son réseau proof-of-stake (PoS).
Le réseau de couche 2 a ensuite communiqué les détails dans un message de forum. Tous les opérateurs de nœuds doivent effectuer la mise à niveau, faute de quoi ils seront exclus du consensus du réseau.
Le fork Austin empêche les nœuds d’envoyer le champ TxDependency
Le bug le plus grave se trouvait dans Heimdall, le logiciel qui coordonne les validateurs de Polygon.
Selon un message de forum publié par Parvez03, Heimdall regroupe le contenu de chaque transaction dans un conteneur appelé google.protobuf.Any.
Un conteneur peut en contenir un autre, un peu comme des boîtes rangées dans d’autres boîtes. Dans ce cas toutefois, il n’y avait aucune limite au nombre de niveaux d’imbrication possibles.
Un attaquant pouvait créer une seule transaction empilée avec ces couches pour כמעט aucun coût, ce qui obligeait les validateurs à gaspiller de la puissance de calcul pour la décompresser.
Polygon a décrit cette faille comme « a permissionless way to force costly, correlated work across the whole validator set. » La correction est importante car le logiciel de coordination des validateurs se situe sur le chemin critique du réseau : s’il peut être amené à effectuer un travail inutile, cela peut affecter la fiabilité du consensus même sans risque direct pour les fonds.
Le hard fork Kyoto a mis à niveau Heimdall vers v0.11.0.
« Kyoto adds a byte-level pre-scan that rejects a transaction once its nesting passes a threshold, enforced identically at mempool admission ( CheckTx ) and on the consensus path ( ProcessProposal ), » indique le message.
Polygon vérifie deux fois : lorsqu’une transaction arrive, et lorsque les validateurs construisent le bloc.
Le deuxième hard fork, Austin, concernait Bor, le client d’exécution de Polygon. Il corrigeait deux vecteurs de déni de service.
L’un concernait les événements de state-sync, le processus qui transporte les dépôts de pont entre L1 et L2. Ces événements exécutent du code de contrat et des precompiles, comme le ferait une transaction normale. Cependant, la quantité de gas consommée n’était pas plafonnée par bloc.
Le fork Austin ajoute une limite stricte par bloc sur le gas de state-sync.
Polygon n’avait jamais plafonné la taille du champ TxDependency. Un validateur pouvait le charger avec de grandes quantités de données et faire planter chaque nœud lisant le bloc, alors même que rien d’autre dans ce bloc ne semblait anormal.
Austin supprime entièrement le champ du format de transmission.
Le fork Kyoto a été activé au niveau Heimdall 51,533,000
Polygon a indiqué que personne n’avait exploité ces bugs sur le mainnet et que tout avait été corrigé avant la mise en service des forks.
Le fork Austin a été activé sur le mainnet au bloc Bor 91,949,700, et le fork Kyoto au niveau Heimdall 51,533,000.
Chaque nœud doit utiliser Bor v2.10.0. Les validateurs et les nœuds complets doivent également utiliser Heimdall version 0.11.0. Les nœuds exécutant une version plus ancienne ont déjà divergé de la chaîne canonique.
Les corrections sont de simples mises à jour binaires, sans migration d’état, changement de genesis ni resynchronisation complète requis, ce qui devrait réduire la charge opérationnelle pour les opérateurs de nœuds.
POL s’échangeait à $0.09, en baisse d’environ 9.3% sur les 24 dernières heures. Le token reste en territoire positif, en hausse de 25.8% sur les 30 derniers jours, selon CoinGecko.
En juillet, le mainnet Heimdall V2 a été hors ligne pendant environ une heure, selon un précédent rapport de Cryptopolitan.