Los investigadores encontraron un popular paquete de software npm con casi 4 millones de descargas semanales que es vulnerable a los ataques de apropiación de cuentas y podría afectar a más de 1000 organizaciones.
El paquete puede hacerse cargo adquiriendo un nombre de dominio vencido, dijo la compañía de seguridad de la cadena de suministro de software illustria en un informe . Instaron a los mantenedores a revisar sus cuentas y eliminar las direcciones de correo electrónico no utilizadas para mitigar la amenaza.
A pesar de las medidas de seguridad de npm que restringen a los usuarios a una sola dirección de correo electrónico activa por cuenta, los investigadores dijeron que los atacantes pueden restablecer la contraseña de GitHub usando el dominio restaurado y publicar paquetes maliciosos que conducen a ataques a la cadena de suministro a gran escala .
“Inicialmente, creímos que era un falso positivo debido a nuestra familiaridad con el paquete altamente popular, pero cuando validamos el hallazgo, se confirmó que el riesgo era correcto: un nombre de dominio asociado con uno de los mantenedores de un paquete npm con más de 3,5 millones de descargas semanales, había caducado y está disponible para registrarse, lo que de hecho es una posible adquisición de cuenta para ese paquete”, escribió el informe.
Para solidificar el hallazgo, los investigadores se pusieron en contacto con el mantenedor y obtuvieron permiso para realizar una investigación de seguridad sobre la explotabilidad de la falla, lo que confirmó que el paquete se puede tomar mediante la recuperación de un dominio vencido.
Si bien los investigadores esperaban un alto costo en la compra del dominio, resultó que solo tenía un precio de $ 8.46 por año.
Después de la compra, los investigadores encontraron que la cuenta de GitHub asociada al paquete es recuperable.
Esto se logra mediante GitHub Actions, que publica automáticamente paquetes npm en los nuevos cambios de código.
"Para respaldar dicha automatización, el mantenedor del proyecto definió un token de automatización npm para publicar paquetes automáticamente como un secreto del proyecto. Aunque la cuenta de usuario npm del mantenedor está configurada correctamente con 2FA, este token de automatización lo omite", explicó el informe. "A pesar de ser un secreto, este token de automatización de npm se puede extraer fácilmente de la canalización de GitHub Actions".
Los investigadores no revelaron el nombre del módulo, pero compartieron la información con el mantenedor. El mantenedor eliminó todos los dominios antiguos en GitHub y npm para proteger la cuenta.
Ha habido múltiples casos de cuentas de desarrolladores que se han encontrado vulnerables a adquisiciones. Uno de esos incidentes ocurrió en mayo de 2022 cuando un actor de amenazas registró un dominio vencido y lo usó para distribuir paquetes Python y PHP con troyanos.
Fuente: https://www.scmagazine.com