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