EDR NEWS te informa: Legacy Python Bootstrap Scripts Create Domain-Takeover Risk in Multiple PyPI Packages

EDR NEWS te informa: Legacy Python Bootstrap Scripts Create Domain-Takeover Risk in Multiple PyPI Packages

28 de noviembre de 2025Ravie LakshmananMalware/Vulnerabilidad

Investigadores de ciberseguridad han descubierto código vulnerable en paquetes Python heredados que potencialmente podrían allanar el camino para comprometer la cadena de suministro en el Índice de paquetes Python (PyPI) a través de un ataque de adquisición de dominio.

La empresa de seguridad de la cadena de suministro de software, ReversingLabs, dijo que encontró la «vulnerabilidad» en los archivos de arranque proporcionados por una herramienta de automatización de compilación e implementación llamada «zc.buildout».

«Los scripts automatizan el proceso de descarga, creación e instalación de las bibliotecas y herramientas necesarias», afirma el investigador de seguridad Vladimir Pezo. dicho. «Específicamente, cuando se ejecuta el script de arranque, busca y ejecuta un script de instalación para el paquete Distribuir desde python-distribute[.]org: un dominio heredado que ahora está disponible para la venta en el rango de precio premium mientras se administra para generar ingresos por publicidad».

Los paquetes PyPI que incluyen un script de arranque que accede al dominio en cuestión incluyen tornado, pypiserver, slapos.core, roman, xlutils y testfixtures.

Servicios de retención del DFIR

El meollo del problema se refiere a una antiguo script de arranquearranque.py«) que se usó junto con la herramienta zc.buildout para inicializar el entorno Buildout. El script Python también admitía la capacidad de instalar una utilidad de empaquetado llamada «Distribute», una bifurcación de corta duración del proyecto Setuptools, en el entorno local.

Para lograr esto, el script de instalación de Distribute («distribute_setup.py») se obtiene del archivo python-distribute.[.]org, un dominio que ha estado a la venta desde 2014. Al agregar la opción, la idea era indicarle al script de arranque que descargara e instalara el paquete Distribute en lugar del paquete anterior Setuptools para administrar huevos y dependencias para la compilación.

Es importante tener en cuenta que la bifurcación Distribute surgió debido a la falta de desarrollo activo de Setuptools, la principal herramienta de administración de paquetes utilizada en ese momento. Sin embargo, las funciones de Distribute se volvieron a integrar en Setuptools en 2013, lo que dejó a Distribute obsoleto.

El problema identificado por ReversingLabs se refiere al hecho de que muchos paquetes han seguido enviando el script de arranque que intenta instalar Distribute de forma predeterminada o cuando se especifica la opción de línea de comandos («-d» o «–distribute»). Esto, junto con el hecho de que el dominio en cuestión está disponible, pone a los usuarios en riesgo latente, ya que un atacante podría utilizar esta configuración como arma para servir código malicioso cuando el script de arranque se ejecuta inadvertidamente y potencialmente robar datos confidenciales.

Si bien algunos de los paquetes afectados han tomado medidas para eliminar el script de arranque, el paquete slapos.core aún continúa enviando el código vulnerable. También está incluido en la versión de desarrollo y mantenimiento de Tornado.

Otro aspecto importante a considerar aquí es que el script de arranque no se ejecuta automáticamente durante la instalación del paquete y está escrito en Python 2. Esto significa que el script no se puede ejecutar con Python 3 sin modificaciones. Pero la mera presencia del archivo deja una «superficie de ataque innecesaria» que los atacantes pueden explotar si se engaña a los desarrolladores para que ejecuten código que desencadene la ejecución del script de arranque.

La amenaza de una adquisición de dominio no es teórica. En 2023, salió a la luz que el paquete npm fsevents se vio comprometido por un mal actor que tomó el control de un recurso en la nube no reclamado alojado en fsevents-binaries.s3-us-west-2.amazonaws.[.]com para enviar ejecutables maliciosos a los usuarios que instalan ciertas versiones del paquete (CVE-2023-45311puntuación CVSS: 9,8).

Kits de construcción CIS

«El problema radica en el patrón de programación que incluye buscar y ejecutar una carga útil desde un dominio codificado, que es un patrón comúnmente observado en el malware que muestra un comportamiento de descarga», dijo Pezo. «El hecho de no desmantelar formalmente el módulo Distribute permitió que persistieran scripts de arranque vulnerables y dejó un número desconocido de proyectos expuestos a un posible ataque».

La divulgación se produce cuando HelixGuard descubrió un paquete malicioso en PyPI llamado «correctores ortográficos» que afirma ser una herramienta para verificar errores ortográficos usando OpenAI Vision, pero contiene código malicioso diseñado para conectarse a un servidor externo y descargar una carga útil de la siguiente etapa, que luego ejecuta un troyano de acceso remoto (RAT).

El paquete, primero subido a PyPI el 15 de noviembre de 2025, por un usuario llamado leo636722ha sido descargado 955 veces. Ya no está disponible para descargar.

«Esta RAT puede recibir comandos remotos y ejecutar código Python controlado por el atacante a través de exec(), lo que permite un control remoto total sobre el host de la víctima», HelixGuard dicho. «Cuando el usuario instala y ejecuta el paquete malicioso, la puerta trasera se activa, lo que permite al atacante controlar de forma remota la computadora del usuario».


Fuente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *