Dos fallos de seguridad de alto riesgo descubiertos en la biblioteca de Curl

Iniciado por Dragora, Octubre 12, 2023, 04:04:18 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Se han lanzado parches para dos fallos de seguridad que afectan a la biblioteca de transferencia de datos de Curl, el más grave de los cuales podría dar lugar a la ejecución de código.

La lista de vulnerabilidades es la siguiente:

  • CVE-2023-38545 (puntuación CVSS: 7,5): vulnerabilidad de desbordamiento de búfer basada en montón SOCKS5
  • CVE-2023-38546 (puntuación CVSS: 5,0) - Inyección de cookies sin archivo

CVE-2023-38545 es el más grave de los dos, y ha sido descrito por el desarrollador principal del proyecto, Daniel Stenberg, como "probablemente el peor fallo de seguridad de Curl en mucho tiempo". Afecta a las versiones de libcurl 7.69.0 a 8.3.0 inclusive.

"Esta falla hace que Curl se desborde como un búfer basado en un montón en el protocolo de enlace proxy SOCKS5", dijeron los mantenedores en un aviso. "Cuando se le pide a Curl que pase el nombre de host al proxy SOCKS5 para permitir que resuelva la dirección en lugar de que lo haga el propio Curl, la longitud máxima que puede tener ese nombre de host es de 255 bytes".

"Si se detecta que el nombre de host tiene más de 255 bytes, Curl cambia a la resolución de nombre local y, en su lugar, pasa la dirección resuelta solo al proxy. Debido a un error, la variable local que significa 'dejar que el host resuelva el nombre' podría obtener el valor incorrecto durante un protocolo de enlace SOCKS5 lento y, contrariamente a la intención, copiar el nombre de host demasiado largo en el búfer de destino en lugar de copiar solo la dirección resuelta allí".

Curl dijo que la vulnerabilidad probablemente podría ser explotada sin la necesidad de un ataque de denegación de servicio y que se podría desencadenar un desbordamiento con un servidor HTTPS malicioso que realice una redirección a una URL especialmente diseñada.

"Al ver que Curl es un proyecto ubicuo, se puede asumir con buena confianza que esta vulnerabilidad será explotada en la naturaleza para la ejecución remota de código, con exploits más sofisticados que se están desarrollando", dijo JFrog. "Sin embargo, el conjunto de condiciones previas necesarias para que una máquina sea vulnerable es más restrictivo de lo que se creía inicialmente".

"Un exploit válido requeriría que un atacante desencadenara la ejecución de código, por ejemplo, pasando un nombre de host a una aplicación web que desencadenaría la ejecución de código en Curl", dijo Johannes B. Ullrich, decano de investigación en el Instituto de Tecnología SANS. "A continuación, el exploit solo existe si Curl se usa para conectarse a un proxy SOCKS5. Esta es otra dependencia, lo que hace que la explotación sea menos probable".

La segunda vulnerabilidad, que afecta a las versiones 7.9.1 a 8.3.0 de libcurl, permite a un actor malintencionado insertar cookies a voluntad en un programa en ejecución que utiliza libcurl en circunstancias específicas.

Los parches para ambas fallas están disponibles en la versión 8.4.0 lanzada el 11 de octubre de 2023. En concreto, la actualización garantiza que Curl ya no cambie al modo de resolución local si un nombre de host es demasiado largo, lo que mitiga el riesgo de desbordamientos de búfer basados en montón.

"Esta familia de defectos habría sido imposible si Curl se hubiera escrito en un lenguaje seguro para la memoria en lugar de C, pero portar Curl a otro idioma no está en la agenda", agregó Stenberg.

Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta