La solución proporcionada por F5 Networks para mitigar la vulnerabilidad de ejecución de código remoto (CVE-2020-5902) en sus dispositivos con versión de software 11.6.1 – 11.6.5, 12.1.0 – 12.1.5, 13.1.0 – 13.1.3, 14.1.0 – 14.1.2, 15.0.0 – 15.1.0, el cual consistía en responder como “recurso no encontrado” cuando la solicitud de un elemento se encuentra en una localización definida en la expresión regular: .*\.\.;.*; sin embargo, dicha solución fue declarada incompleta, ya que otros recursos pueden ser accedidos sin autenticación, como es el caso de HSQL Database Engine Servlet, el cual es un gestor de base de datos escrito en Java, el cual puede ser aprovechado para ejecutar comandos de manera remota, tal como se documenta en el articulo: F5 BIG-IP Remote Code Execution Exploit – CVE-2020-5902 (https://www.criticalstart.com/f5-big-ip-remote-code-execution-exploit/).
La figura 1 muestra como la solución proporcionada deniega el acceso sobre el recurso consultado, pero la figura 2 muestra como permite el acceso al HSQL Database Engine Servlet.
Figura 1. Recurso denegado por la solución
Figura 2. Recurso permitido por la solución
Por lo tanto, la solución presentada anteriormente fue actualizada para resolver por completo el acceso a recursos sin autenticación previa; la cual consiste en cambiar el valor de LocationMatch de .*\.\.;.* a ; (https://support.f5.com/csp/article/K52145254#mgmt); por lo que nosotros, GigaDefense, hemos actualizado el script SOL_CVE_2020-5902. Para la ejecución del script SOL_CVE_2020-5902 versión 1.1 dirigirse al artículo: Resolviendo la vulnerabilidad CVE-2020-5902 por medio de un script.
Como resultado de la ejecución del script versión 1.1, el acceso al HSQL Database Engine Servlet es denegado, tal como se muestra en la figura 3.
Figura 3. Recurso denegado por la solución actualizada