News

Macaroons robadas vaciaron nodos Lightning de BTCPay

BTCPay Server 2.4.2, publicada el 7 de agosto de 2026, cerró un agujero que permitía a un atacante remoto sin autenticar leer los ficheros de credenciales de LND en el servidor de un comercio. Quien tiene la de admin puede mover el dinero del nodo, y eso fue lo que pasó.

5 min de lecturaProcesadores de pago
Macaroons robadas vaciaron nodos Lightning de BTCPay

Qué pasó

El 7 de agosto de 2026 el proyecto BTCPay Server publicó un aviso de seguridad pidiendo a los operadores que actualizaran de inmediato. El fallo, presente en todas las versiones anteriores a la 2.4.2, "podía permitir a un atacante remoto sin autenticar obtener los ficheros de credenciales .macaroon de LND", y esas credenciales "podían usarse para tomar el control de un nodo LND y mover fondos". El aviso no lo plantea como una posibilidad: "Hemos confirmado que hubo atacantes que explotaron esta vulnerabilidad. Hubo usuarios afectados y se robaron fondos".

Qué cambia

Una macaroon no es una contraseña. Es una credencial al portador, y la documentación de LND es inequívoca sobre lo que eso significa: "Compartir una macaroon permite a cualquiera que la tenga en su poder usarla para acceder al servicio (en nuestro caso, lnd) y hacer todo lo que esa macaroon permita" (macaroons.md). LND escribe tres de ellas en disco al arrancar. La que se llama admin.macaroon "contiene una macaroon sin caveats", que es la forma que tiene la documentación de decir que puede hacerlo todo.

No hay un paso de inicio de sesión que pueda fallar, así que leer el fichero es el ataque entero. Una contraseña habría que probarla contra un servicio capaz de limitar los intentos o de rechazarla. Una macaroon presentada al nodo es válida sin más, porque la validez es una propiedad de los bytes y no de quien los tiene.

Ese mismo documento de LND ya había señalado la exposición: los ficheros de macaroons "están sin cifrar y, en el caso de admin.macaroon, dan acceso completo al daemon. Esto puede verse como un riesgo de seguridad bastante grande si el daemon lnd se ejecuta en un entorno que no es plenamente de confianza". Y va más allá, al llamarlos "los únicos ficheros con información altamente sensible que no están cifrados", a diferencia del fichero de la cartera y la base de datos de macaroons, que "siempre están cifrados, incluso si no se usa contraseña". LND incluye un modo de stateless initialization que no escribe ningún fichero de macaroon, precisamente por esto. Cada comercio que ejecutaba un nodo Lightning a través de BTCPay tenía ese fichero en el mismo servidor que una aplicación web accesible desde internet.

La corrección es igual de contundente. Actualizar a la 2.4.2 lleva además LND a la 0.21.1 y regenera las macaroons, lo que invalida cualquier copia que se hubiera llevado un atacante. La versión 2.4.2 también "elimina temporalmente el acceso público a la API de LND en despliegues con Docker", así que una cartera externa como Zeus ya no puede llegar al nodo a través del dominio de BTCPay ni de su dirección onion. Es una función que funcionaba, apagada a propósito mientras el incidente sigue abierto.

El 10 de agosto el proyecto publicó su respuesta, donde confirma que la vulnerabilidad "permitía a un atacante obtener las credenciales admin macaroon de LND de las instancias afectadas y usarlas para acceder a las carteras LND conectadas". La BTCPay Server Foundation anunció que donará 0,21 BTC a Craig Raw, que reportó el fallo, y otros 0,21 BTC al fondo del Bitcoin Red Team, y que varios colaboradores se han comprometido con una recompensa de recuperación del "10% del importe recuperado, hasta un máximo de 3 BTC por la recuperación total de los fondos".

Qué no cambia

No llegó a las carteras on-chain de BTCPay. El aviso es concreto, y corrige su propia advertencia inicial: tras revisarlo mejor, el proyecto confirmó "que solo LND está afectado" y que "las carteras on-chain de BTCPay Server, incluidas las hot wallets, no están afectadas". La excepción conviene leerla dos veces, porque es fácil confundirla con lo contrario: los fondos que estén en la cartera on-chain del propio LND forman parte del nodo afectado y sí pueden seguir en riesgo.

No alcanza a otras implementaciones de Lightning. Un operador con Core Lightning o Eclair detrás de BTCPay nunca estuvo expuesto a este riesgo concreto de credenciales, y el proyecto lo dice en lugar de anunciar a todo el mundo que fue comprometido.

Actualizar no cierra una puerta que abrió uno mismo. Si el nodo es accesible por un reverse proxy propio, un servicio Tor o un puerto redirigido, "actualizar BTCPay Server no cierra las vías de acceso que uno gestiona por separado", y esas credenciales hay que rotarlas a mano. Rotarlas tampoco deshace el robo: las macaroons nuevas dejan inservibles las copias antiguas, y las monedas que ya se movieron no vuelven.

Y el mecanismo sigue sin ser público. El aviso no dio detalles técnicos "porque los operadores todavía necesitan tiempo para actualizar", y a 25 de agosto de 2026 el blog del proyecto no publica nada más, así que cómo se llegó a esa lectura de ficheros no es algo que este texto pueda contar. Se conoce la forma del resultado, no la del fallo.

Contexto

La lección no es que Lightning sea inseguro. Es qué es un fichero de credenciales una vez que está en una máquina que además responde a peticiones de desconocidos. Una clave de firma se trata con ceremonia. Un .macaroon parece configuración, y lleva la misma autoridad.

Por eso el propio consejo del proyecto, en un texto sobre su propio fallo, es el consejo de siempre: "mantener los fondos en cold storage siempre que sea posible. Si hace falta una hot wallet para la operativa diaria, mover con regularidad el exceso de fondos a cold storage". Un nodo de comercio tiene que estar caliente para cobrar, lo que traslada la pregunta a cuánto hay dentro y no a si está expuesto. El coste de la custodia no desaparece porque el software sea bueno: se traslada al saldo.

La divulgación vino de la misma dirección que varias historias de este mes. El endurecimiento del transporte de Stratum V2 y un input de splice que LDK ahora rechaza acreditan a equipos de auditoría con nombre propio, y el Bitcoin Red Team aparece también en este incidente. La diferencia es que aquellos llegaron como parches antes de que nadie perdiera nada, y este no.

Boletín

Bitcoin, sin ruido

Qué ha pasado en Bitcoin, qué cambia de verdad, y las fuentes para que puedas comprobarnos. Un número cada vez, directo a tu correo.

  • Un correo por número, nunca una secuencia automática
  • Sin píxeles de seguimiento y sin compartir direcciones
  • Baja desde cualquier número con un clic

Recibe el próximo número

Un correo por número, sin píxeles de seguimiento, y te puedes dar de baja desde cualquiera de ellos. No compartimos tu dirección. Política de privacidad