Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Python Pyramid (CVE-2023-40587)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-22 Limitación incorrecta de nombre de ruta a un directorio restringido (Path Traversal)
Fecha de publicación:
25/08/2023
Última modificación:
16/02/2024

Descripción

Pyramid es un framework web de Python de código abierto. Una vulnerabilidad de Path Traversal en las versiones 2.0.0 y 2.0.1 de Pyramid afecta a los usuarios de Python 3.11 que utilizan una vista estática de Pyramid con una ruta completa del sistema de archivos y tienen un archivo `index.html` que se encuentra exactamente un directorio encima de la ubicación de la ruta del sistema de archivos de la vista estática. No existe ningún otro Path Traversal y el único archivo que podría revelarse accidentalmente es `index.html`. La versión 2.0.2 de Pyramid rechaza cualquier ruta que contenga un byte nulo por precaución. Si bien es válido en nombres de directorios/archivos, consideraríamos un error utilizar bytes nulos al nombrar archivos/directorios. En segundo lugar, Python 3.11 y 3.12 han solucionado el problema subyacente en `os.path.normpath` para que ya no se trunque en el primer `0x00` encontrado, devolviendo el comportamiento a Python anterior a 3.11, una versión aún no publicada. Las correcciones estarán disponibles en: Python 3.12.0rc2 y 3.11.5. Algunos workarounds están disponibles. Utilice una versión de Python 3 que no se vea afectada, cambie temporalmente a la serie Python 3.10 o espere hasta que se lance Python 3.11.5 y actualice a la última versión de la serie Python 3.11.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:agendaless:pyramid:*:*:*:*:*:python:*:* 2.0 (incluyendo) 2.0.2 (excluyendo)
cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:*
cpe:2.3:o:fedoraproject:fedora:39:*:*:*:*:*:*:*