Saltar al contenido
Registro de incidente · · 2 min de lectura · 324 palabras ·Descubierto ·Divulgado Resuelto

Ataque a la cadena de suministro de Ledger Connect Kit, diciembre de 2023: qué ocurrió y qué comprobar

Un paquete npm comprometido inyectó un vaciador de carteras en todas las dapps que cargaban Ledger Connect Kit desde el CDN, tuvieran o no un Ledger sus usuarios.

Compartir
Esquema del incidente de Ledger (Connect Kit library) que muestra la etapa de cadena de suministro como punto de fallo.
Schematic of the Ledger (Connect Kit library) incident showing the supply chain stage as the failure point.

De un vistazo

ENTIDAD AFECTADA
Ledger (Connect Kit library)
CADENA(S)
Ethereum
PÉRDIDA DECLARADA
aprox. 600.000 dólares estadounidenses(Ledger, 14 Dic 2023)
RESPUESTA OFICIAL
www.ledger.com

La dependencia era la superficie de ataque

Ledger Connect Kit es una biblioteca que las dapps usan para comunicarse con los dispositivos Ledger. Muchas la cargaban desde un CDN en tiempo de ejecución en lugar de fijar una versión e incluirla en su propio paquete. Eso significó que una sola publicación maliciosa se propagó automáticamente a los front-ends de producción en vivo, sin ninguna acción de los equipos de las dapps y sin ningún despliegue por su parte.

El código inyectado era un vaciador de carteras: presentaba a los usuarios una transacción que transfería sus activos. Y lo esencial es que afectó a usuarios que no tenían ningún dispositivo Ledger. La biblioteca estaba en la página; el hardware era irrelevante.

Qué protegen y qué no protegen las carteras de hardware

Sería un error leer esto como un fallo de las carteras de hardware, e igual de erróneo leerlo como una reivindicación. Una cartera de hardware protege la clave. No decide si una transacción es buena idea: te muestra la transacción y pregunta. Si la solicitud que llega al dispositivo es maliciosa y la apruebas, el dispositivo actúa exactamente según su diseño.

La defensa que habría funcionado es leer lo que el dispositivo mostraba antes de aprobar. Es una exigencia genuinamente difícil: los datos de una transacción suelen ser opacos y cientos de aprobaciones rutinarias entrenan a los usuarios a pulsar sin mirar. Pero era el control que existía, y la razón de que la pérdida se midiera en cientos de miles y no en bastante más es que algunos usuarios sí leyeron.

La clase, no el incidente

Las dependencias cargadas en tiempo de ejecución dentro de una página que puede solicitar firmas son un riesgo permanente. El endurecimiento pertinente está del lado de la dapp —fijar versiones, integridad de subrecursos, empaquetar en lugar de cargar desde un CDN— y es invisible para los usuarios, que es por lo que esta clase de fallo reaparece.

Cronología

Solo se añade. Las correcciones se incorporan como su propia entrada fechada; las entradas anteriores nunca se reescriben.

  1. Se publica en npm una versión maliciosa de Ledger Connect Kit y se distribuye vía CDN a las dapps que la cargan en tiempo de ejecución. Ledger
  2. Ledger identifica el compromiso, retira la versión maliciosa y publica una corregida. El archivo malicioso estuvo activo unas cinco horas. Ledger

Qué comprobar

Ledger publicó un comunicado, enlazado más abajo, con la cronología y las versiones afectadas. Ni los dispositivos Ledger ni la aplicación Ledger Live resultaron comprometidos.

Conisec no aloja ni enlaza herramientas de recuperación, revocación o «comprobación». Tras un incidente público, los atacantes siembran habitualmente ese tipo de enlaces usando los nombres de las publicaciones que cubren la noticia. Usa el canal oficial del propio proyecto afectado, enlazado más arriba, y nada más.

Fuentes

  1. Ledger, Ledger Connect Kit exploit — official statement (14 Dic 2023)

No es asesoramiento. Esto es un resumen de hechos publicados, no asesoramiento jurídico, fiscal ni de seguridad. Verifícalo con las fuentes primarias enlazadas más arriba.

Última verificación por Conisec Staff.

Sigue explorando