BTCPay Server, el procesador de pagos en bitcoin de código abierto y autoalojado que usan miles de comercios, pidió el domingo 1 de noviembre a todos sus operadores que apaguen sus servidores tras recibir reportes de que atacantes no autorizados estaban vaciando carteras calientes (hot wallets) conectadas a sus instalaciones.
El aviso, publicado en la cuenta oficial del proyecto en X, fue directo: «Estamos recibiendo reportes de que carteras calientes en los servidores BTCPay están siendo vaciadas por atacantes no autorizados». La instrucción fue detener cada instancia con el comando ./btcpay-down.sh y mantenerla apagada hasta que concluya la investigación.
Versiones anteriores a 2.4.2 y acceso de administrador
Unas dos horas después del aviso, el fundador del proyecto, Nicolas Dorier, aportó las primeras pistas, según informó CoinDesk. Los casos reportados corresponden a versiones de BTCPay Server anteriores a la 2.4.2, y en los servidores afectados el atacante inició sesión como administrador.
La investigación posterior identificó un vector de ataque dirigido a la versión 2.4.1 y anteriores. El proyecto afirma que no tiene reportes creíbles de vaciados en la 2.4.7, publicada el 29 de octubre, y que su propio servidor público, que corre esa versión, no fue atacado.
BTCPay todavía no ha detallado cómo obtuvieron los atacantes el acceso de administrador. Tampoco ha publicado una cifra de pérdidas ni el número de servidores comprometidos.
Por qué las carteras calientes son el blanco
En una cartera caliente, BTCPay guarda la semilla de la wallet en el propio servidor para firmar automáticamente los pagos salientes. Esa comodidad operativa convierte al servidor en el punto crítico, porque quien logra acceso de administrador a la instancia puede mover los fondos sin necesidad de tocar ninguna otra pieza.
Por eso el incidente es distinto del de agosto. El 7 de agosto, BTCPay lanzó de urgencia la versión 2.4.2 para cerrar una vulnerabilidad que permitía vaciar nodos Lightning con LND, y entonces las carteras on-chain no se vieron afectadas. Esta vez son justamente esas carteras las que están siendo vaciadas. Según el proyecto, el nuevo fallo no guarda relación con aquel robo de credenciales de LND.
Mientras tanto, proveedores de alojamiento como LunaNode empezaron a apagar automáticamente las instancias antiguas de sus clientes. Esto explica por qué algunos comercios encontraron su panel fuera de línea durante el fin de semana.
Qué deben hacer los comercios ahora
La recomendación oficial vigente es mantener el servidor apagado hasta que BTCPay dé el visto bueno, incluso en versiones recientes. Al reactivarlo, el primer paso es confirmar que la instancia corre la 2.4.7.
El proyecto pidió a los operadores afectados que conserven los registros del servidor y los envíen a su equipo de seguridad para la investigación. También conviene revisar las cuentas de administrador y las credenciales de acceso, y reducir al mínimo el saldo que se mantiene en la cartera caliente, trasladando el resto a almacenamiento en frío.
El modelo autoalojado de BTCPay elimina intermediarios, pero también deja en manos de cada comercio la responsabilidad de actualizar a tiempo. Como los desarrolladores no pueden apagar a distancia las instalaciones vulnerables, la velocidad de respuesta de cada operador decide cuánto se pierde.
