Los investigadores han identificado una vulnerabilidad de confusión de dependencia que afecta a un proyecto archivado de Apache llamado Arnés de la aplicación Cordova.
Ataques de confusión de dependencia Esto ocurre debido al hecho de que los administradores de paquetes verifican los repositorios públicos antes que los registros privados, lo que permite que un actor de amenazas publique un paquete malicioso con el mismo nombre en un repositorio de paquetes público.
Esto hace que el administrador de paquetes descargue sin darse cuenta el paquete fraudulento del repositorio público en lugar del repositorio privado previsto. Si tiene éxito, puede tener consecuencias graves, como la instalación de todos los clientes intermedios que instalen el paquete.
Un análisis de mayo de 2023 de los paquetes npm y PyPI almacenados en entornos de nube realizado por la empresa de seguridad en la nube Orca reveló que casi el 49% de las organizaciones son vulnerables a un ataque de confusión de dependencia.
Si bien npm y otros administradores de paquetes han introducido desde entonces correcciones para priorizar las versiones privadas, la empresa de seguridad de aplicaciones Legit Security dicho encontró que el proyecto Cordova App Harness hacía referencia a una dependencia interna denominada cordova-harness-client sin una ruta de archivo relativa.
La iniciativa de código abierto fue interrumpido por la Apache Software Foundation (ASF) a partir del 18 de abril de 2019.
Como demostró Legit Security, esto dejó la puerta abierta a un ataque a la cadena de suministro al cargar una versión maliciosa con el mismo nombre con un número de versión mayor, lo que provocó que npm recuperara la versión falsa del registro público.
Dado que el paquete falso atrae más de 100 descargas después de ser subido a npm, indica que el proyecto archivado todavía se está utilizando, lo que probablemente plantea graves riesgos para los usuarios.
En un escenario de ataque hipotético, un atacante podría secuestrar la biblioteca para entregar código malicioso que podría ejecutarse en el host de destino al instalar el paquete.
Desde entonces, el equipo de seguridad de Apache ha solucionado el problema haciéndose cargo de la paquete cordova-harness-cliente. Vale la pena señalar que se recomienda a las organizaciones que crear paquetes públicos como marcadores de posición para prevenir ataques de confusión de dependencia.
«Este descubrimiento resalta la necesidad de considerar los proyectos y dependencias de terceros como posibles eslabones débiles en la fábrica de desarrollo de software, especialmente los proyectos de código abierto archivados que pueden no recibir actualizaciones periódicas o parches de seguridad», dijo el investigador de seguridad Ofek Haviv.
«Aunque pueda parecer tentador dejarlos como están, estos proyectos tienden a tener vulnerabilidades que no reciben atención y es poco probable que se solucionen».