Nueva falla de análisis de URL de Python podría habilitar ataques de ejecución de comandos

Nueva falla de análisis de URL de Python podría habilitar ataques de ejecución de comandos

Se ha revelado una falla de seguridad de alta gravedad en la función de análisis de URL de Python que podría explotarse para eludir los métodos de filtrado de dominio o protocolo implementados con una lista de bloqueo, lo que en última instancia resulta en lecturas arbitrarias de archivos y ejecución de comandos.

“urlparse tiene un problema de análisis cuando toda la URL comienza con caracteres en blanco”, dijo el Centro de Coordinación CERT (CERT / CC) en un aviso del viernes. “Este problema afecta tanto al análisis del nombre de host como al esquema, y eventualmente hace que cualquier método de lista de bloqueo falle”.

Ataques de inyección de comandos

A la falla se le ha asignado el identificador CVE-2023-24329 y tiene una puntuación CVSS de 7.5. El investigador de seguridad Yebo Cao ha sido acreditado por descubrir e informar el problema en agosto de 2022. Se ha abordado en las siguientes versiones:

  • >= 3,12
  • 3.11.x >= 3.11.4
  • 3.10.x >= 3.10.12
  • 3.9.x >= 3.9.17
  • 3.8.x >= 3.8.17, y
  • 3.7.x >= 3.7.17

urllib.parse es una función de análisis ampliamente utilizada que permite desglosar las URL a sus constituyentes, o alternativamente, combinar los componentes a una cadena de URL.

CVE-2023-24329 surge como resultado de la falta de validación de entrada, lo que lleva a un escenario en el que es posible evitar los métodos de listas de bloqueo proporcionando una URL que comienza con caracteres en blanco (por ejemplo, ” https://youtube[.] com”).

“Aunque la lista de bloqueo se considera una opción inferior, hay muchos escenarios en los que todavía se necesita una lista de bloqueo”, dijo Cao. “Esta vulnerabilidad ayudaría a un atacante a eludir las protecciones establecidas por el desarrollador para el esquema y el host. Se puede esperar que esta vulnerabilidad ayude a SSRF y RCE en una amplia gama de escenarios”.

La revelación se produce cuando una nueva investigación encontró que las correcciones de seguridad en Python a menudo ocurren a través de confirmaciones de código “silenciosas”, sin un identificador asociado de vulnerabilidades y exposiciones comunes (CVE), lo que brinda a los actores maliciosos la oportunidad de explotar potencialmente vulnerabilidades no reveladas en sistemas sin parches.

Related Post