Aviso de PYPI para prevenir ataques de confusión de PARSER en los instaladores de paquetes de Python ~ Segu-Info

En los últimos meses, investigadores de seguridad han descubierto un nuevo
vector de
ataque dirigido a los instaladores de paquetes de Python mediante
ambigüedades en el formato de archivo ZIP
.

Al explotar discrepancias entre los encabezados de los archivos locales y el
directorio central, actores maliciosos pueden crear distribuciones de
Wheel aparentemente inocuas que, al ser descomprimidas por instaladores
vulnerables, introducen silenciosamente archivos no autorizados en el entorno
objetivo.

Esta técnica aprovecha las características heredadas del estándar ZIP
(desarrollado en 1989 para permitir actualizaciones incrementales en múltiples
volúmenes de almacenamiento) y se aprovecha de la falta de validación cruzada
estricta en muchos instaladores populares de Python.

Los informes iniciales surgieron cuando
los encargados del instalador UV notaron
que los archivos aparecían fuera de los directorios de paquetes previstos tras
la extracción. Los
analistas del blog Python Package Index identificaron
que ciertos archivos Wheel contenían entradas RECORD y encabezados del
directorio central no coincidentes, lo que provocaba que las herramientas de
descompresión incluyeran cargas útiles extrañas durante la instalación.

El análisis de los 15.000 paquetes de Python más descargados revela problemas
mínimos: de 13.468 proyectos de Wheel, 13.460 no presentan problemas de
RECORD ni ZIP, y solo unos pocos presentan archivos faltantes, discrepancias o
duplicados.

Si bien PyPI no ha detectado incidentes confirmados de explotación en el mundo
real hasta la fecha, el aviso subraya la posibilidad de comprometer la cadena
de suministro en uno de los repositorios de software más grandes.

Mecanismo de infección mediante la discrepancia en RECORD

El núcleo de este ataque radica en que el instalador no verifica las entradas
de RECORD con el contenido real del ZIP antes de la extracción. Un programa
malicioso puede listar solo archivos benignos en RECORD, como
__init__.py y module.py, e incrustar cargas útiles adicionales
bajo diferentes nombres de encabezado de archivo local.

Cuando un instalador lee primero el directorio central, confía en la lista de
archivos para extraer; sin embargo, implementaciones equivalentes a unzip
pueden procesar los encabezados de archivo locales secuencialmente, instalando
inadvertidamente puertas traseras ocultas.

Prevención

PyPI ya emplea la detección de «bombas de compresión ZIP» durante las subidas de
archivos, lo que refuerza aún más la seguridad. Para abordar esta amenaza
emergente, PyPI está implementando una serie de rigurosas comprobaciones de
validación en todos los archivos ZIP y Wheel cargados.

Se rechazarán los archivos Wheel con nombres de archivo
duplicados entre los encabezados de archivo locales y el directorio central,
así como los archivos con datos de encuadre o de seguimiento no válidos.

A partir del 1 de febrero de 2026, cualquier archivo Wheel cuyo contenido no
coincida exactamente con el archivo de metadatos RECORD se bloqueará al
cargar, tras un período de advertencia de seis meses.

Estas medidas buscan obligar tanto a los empaquetadores como a los proyectos
de instalación a adoptar una lógica de análisis robusta y a aplicar
comprobaciones cruzadas con las sumas de comprobación integradas.

Fuente:
CyberSecurityNews


Ver fuente

Related Post