Using Components with Known Vulnerabilities
El desarrollo de aplicaciones en muchos casos hace uso de código y dependencias de terceros, lo que implica que los problemas de seguridad que tengan los incluimos en la aplicación. Para ello debe analizarse frecuentemente las dependencias de los proyectos y/o productos. Los componentes suelen tener el mismo nivel de privilegios que el Producto, por lo que sus vulnerabilidades pueden tener gran impacto.
Riesgo de la vulnerabilidad
Puertas traseras que permitan el acceso al Producto o sus datos.
Ejecución de código remoto.
Escalada de privilegios.
Utilización malintencionada del Producto.
Código vulnerable 1:
[...]
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
[...] |
Solución:
Se deben actualizar la la versión más reciente de la dependencia, comprobando que esta libre de vulnerabilidades. En caso de existir, se tratarán de mitigar.
[...]
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.last.secure.version}</version>
</dependency>
[...] |
Referencias:
https://owasp.org/www-project-dependency-check/
https://cheatsheetseries.owasp.org/cheatsheets/Vulnerable_Dependency_Management_Cheat_Sheet.html