En el repositorio de paquetes NPM se ha identificado un problema de seguridad que permite al propietario del paquete agregar a cualquier usuario como mantenedor sin su consentimiento y sin informar sobre dicha acción. El problema se agrava porque, tras agregar a un usuario externo como mantenedor, el autor original del paquete podía eliminarse de la lista y el usuario externo quedaba como la única persona responsable del paquete.
Los creadores de paquetes maliciosos podrían aprovechar este problema para agregar como mantenedores a desarrolladores conocidos o grandes empresas con el fin de aumentar la confianza de los usuarios y crear la ilusión de que desarrolladores reconocidos son responsables del paquete, cuando en realidad no tienen ninguna relación con él y ni siquiera conocen su existencia. Por ejemplo, un atacante podría publicar un paquete malicioso, cambiar el mantenedor e invitar a los usuarios a probar un nuevo desarrollo de una gran empresa. Esta vulnerabilidad también podría utilizarse para dañar la reputación de ciertos desarrolladores, presentándolos como iniciadores de acciones dudosas y actividades maliciosas.
La empresa GitHub fue notificada sobre el problema el 10 de febrero y lo solucionó en npmjs.com el 26 de abril mediante la introducción de una confirmación obligatoria para que los usuarios acepten unirse a otro proyecto. A los desarrolladores de un gran número de paquetes NPM se les recomienda verificar si en la lista de sus paquetes existen vínculos que hayan sido añadidos sin su consentimiento.
Fuente: opennet.ru
