Descripción
pyLoad es un gestor de descargas libre y de código abierto escrito en Python. En versiones anteriores a 0.5.0b3.dev102, UnTar._safe_extractall en src/pyload/plugins/extractors/UnTar.py valida las rutas de los miembros del archivo comprimido y los destinos de los enlaces, pero no llama a TarInfo.isdev para rechazar tipos especiales de miembros tar antes de llamar a tarfile.extractall. En los entornos de ejecución compatibles de Python 3.9 a 3.13, tarfile usa por defecto el filtro de extracción fully_trusted, por lo que un usuario con permisos ADD y STATUS puede provocar la extracción de un archivo especialmente manipulado que contenga dispositivos de caracteres, dispositivos de bloque o FIFO. Python 3.14 usa por defecto un filtro de extracción seguro. Cuando pyLoad se ejecuta con privilegios del sistema operativo que permiten la creación de dispositivos, incluida la implementación oficial de Docker basada en root, el archivo puede exponer dispositivos sin procesar y comprometer el host. Las implementaciones sin root aún pueden crear FIFO que provoquen bloqueos o confusión en la comunicación entre procesos (IPC). Este problema está corregido en la versión 0.5.0b3.dev102.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- pyload Afectadas: < 0.5.0b3.dev102
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/pyload/pyload/security/advisories/GHSA-fr26-jjhm-638c
- Referencia en github.comgithub.com/pyload/pyload/commit/09eec1b431b6942a1917f094f2c77bfbf5637…
Ver el texto original en inglés (CVE.org)
pyLoad: Tar extraction creates device nodes and FIFOs (member types not filtered; tarfile extractall without filter=)
pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev102, UnTar._safe_extractall in src/pyload/plugins/extractors/UnTar.py validates archive member paths and link targets but does not call TarInfo.isdev to reject special tar member types before calling tarfile.extractall. On supported Python 3.9 through 3.13 runtimes, tarfile defaults to the fully_trusted extraction filter, so a user with ADD and STATUS permissions can cause extraction of a crafted archive containing character devices, block devices, or FIFOs. Python 3.14 defaults to a safe extraction filter. When pyLoad runs with operating-system privileges that permit device creation, including the official root-based Docker deployment, the archive can expose raw devices and compromise the host. Non-root deployments can still create FIFOs that cause hangs or IPC confusion. This issue is fixed in version 0.5.0b3.dev102.