En Resumen

  • Una puerta trasera en el Servicio de Nombres de Ethereum (ENS) permite a la gente reclamar nombres que han sido vendido a otras personas
  • El equipo no cree que la hazaña haya afectado a nadie, pero lo han arreglado.
  • Les costó más de 25.000 dólares arreglarlo.

Cuando el Ethereum Name Service —un contrato inteligente que hace que las direcciones de la blockchain de Ethereum sean legibles para el ser humano— migró a un contrato inteligente más reciente, contenía un error tan grave que le costó a los desarrolladores más de 25.000 dólares para arreglarlo, dijo el equipo en una entrada de blog ayer.

El 8 de noviembre de 2019, se envió un error a la página del Ethereum Bug Bounty que permitiría a alguien reclamar la propiedad de un nombre de dirección, incluso si se transfiriera a otra persona. Así que, por ejemplo, John Doe podría registrar Decrypt.ETH, transferirlo a Jane Doe, y luego reclamarlo.

"Esto sería bastante malo, por lo que nos dimos cuenta relativamente rápido de que teníamos que migrar toda nuestra infraestructura a un nuevo registro", dijo el equipo.

Un costoso error

Eso significaba que los 310.000 nombres del ENS (Ethereum Name Service) requerían ser actualizados, así como 50.000 subdominios, 60.000 nombres con un resolutor y 37.000 nombres con direcciones establecidas. En total, son 360.000 nombres.

La modificación de todos esos nombres significaría que tendrían que gastar mucho dinero en comisiones de transacción. Dado que, en total, el equipo tuvo que modificar alrededor de 847.000 "ranuras de almacenamiento", tuvo que gastar un total de 25.000 dólares de ETH para hacer el trabajo.

El 27 de enero, el equipo desplegó un nuevo contrato inteligente, y en la primera semana de febrero, migraron los nombres a un nuevo contrato inteligente. El trabajo se terminó el 10 de febrero.

Afortunadamente, "al investigar más a fondo la vulnerabilidad, pudimos decir con gran certeza que la vulnerabilidad no fue explotada", dijo el equipo.