CSIRTCV

Está usted visitando una publicación en la hemeroteca de CSIRT-CV.
Para acceder al portal y contenido actual, visite https://www.csirtcv.gva.es

10/07/2020

Zero-day en Python

La vulnerabilidad provoca colisión de hashes en IPv4 e IPv6 y puede convertirse en un ataque DOS.

Riesgo: Crítico

El fallo se debe en cómo interactúan IPv4Interface y IPv6Interface. Sus funciones hash devuelven 32 y 64 respectivamente, pero Lib/ipaddress.py para estas versiones de Python, calcula incorrectamente el valor del hash.

El error se encuentra en las líneas 1421 y 2095.

Más información.

Sistemas Afectados:

Versiones 3.8.0, 3.8.1, 3.8.2 y 3.8.3

Referencias:

CVE.2020-14422

Solución:

Parece que la forma de corregir este fallo es cambiar la línea 1421 por:
return hash((self._ip, self._prefixlen, int(self.network.network_address)))
y la línea 2095 cambiarla por:
return hash((self._ip, self._prefixlen, int(self.network.network_address)))

OpenSuse ha publicado como arreglarlo en esta página.

Notas:

https://bugs.python.org/issue41004
https://www.suse.com/security/cve/CVE-2020-14422/

Fuente: Hispasec - Una al día

CSIRT-CV