Nueva vulnerabilidad en Python permite eludir métodos de bloqueo
Nueva vulnerabilidad en Python permite eludir métodos de bloqueo

Nueva vulnerabilidad en Python permite eludir métodos de bloqueo

Se ha descubierto una falla de seguridad crítica en la función de análisis de URL de Python, que podría permitir a los atacantes eludir métodos de filtrado de protocolos o dominios implementados con listas de bloqueo. Esta vulnerabilidad podría llevar a lecturas de archivos y ejecución de comandos arbitrarios.

Detalles técnicos

El Centro de Coordinación CERT (CERT/CC) informó que la función urlparse tiene un problema en el análisis cuando la URL completa comienza con caracteres en blanco. Este error afecta tanto al análisis del nombre de host como al esquema, lo cual hace que falle cualquier método de bloqueo.

La vulnerabilidad ha sido asignada el identificador CVE-2023-24329, y tiene una puntuación CVSS de 7,5. El investigador de seguridad Yebo Cao descubrió e informó del problema en agosto de 2022.

Versión afectada y corrección

La vulnerabilidad ha sido abordada 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
  • La vulnerabilidad también afectaría a frameworks muy populares como #Ansible y #Django.

urllib.parse es una función de análisis ampliamente utilizada que permite desglosar las URL en sus componentes o, alternativamente, combinar los componentes en una cadena de URL. Las funciones urlsplit() y urlparse() no realizan una validación apropiada de entradas.

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 eludir los métodos de bloqueo proporcionando una URL que comienza con caracteres en blanco (por ejemplo, « https://youtube[.] com»).

Impacto y posibles explotaciones

Aunque la lista de bloqueo se considera una opción inferior, hay muchos escenarios en los que todavía se necesita la lista de bloqueo. 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.

El aviso fue publicado por The Hacker News.