Ataque a NPM que permite determinar la existencia de paquetes en repositorios privados

En NPM se ha identificado una vulnerabilidad que permite determinar la existencia de paquetes en repositorios privados. El problema se debe a diferentes tiempos de respuesta al solicitar un paquete existente y uno inexistente por un usuario externo que no tiene acceso al repositorio. En ausencia de acceso a cualquier paquete en repositorios privados, el servidor registry.npmjs.org devuelve un error con código «404», pero en caso de que el paquete con el nombre solicitado exista, el error se presenta con un retraso notable. Un atacante puede utilizar esta característica para determinar la presencia de un paquete al adivinar nombres de paquetes a través de diccionarios.

La identificación de nombres de paquetes en repositorios privados puede ser necesaria para llevar a cabo un ataque mediante la mezcla de dependencias, manipulando la intersección de nombres de dependencias en repositorios públicos y privados. Conociendo qué paquetes internos de NPM están presentes en los repositorios corporativos, un atacante puede publicar paquetes con los mismos nombres y números de versión más recientes en el repositorio público de NPM. Si durante la compilación las bibliotecas internas no están explícitamente vinculadas en la configuración a su repositorio, el gestor de paquetes npm considerará más prioritario el repositorio público y descargará el paquete preparado por el atacante.

GitHub fue notificado sobre el problema en marzo, pero se negó a agregar protección contra el ataque, citando limitaciones arquitectónicas. Se recomienda a las empresas que utilizan repositorios privados que verifiquen periódicamente la aparición de nombres que se crucen en el repositorio público o que creen en su nombre proxies con nombres que replican los nombres de los paquetes en los repositorios privados, para que los atacantes no puedan publicar sus paquetes con nombres que se crucen.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster