AWS repite la misma vulnerabilidad crítica de RCE tres veces en cuatro años

Amazon Web Services (AWS) ha introducido la misma vulnerabilidad de ejecución remota de código (RCE) a través de su Neuron SDK tres veces en los últimos cuatro años, lo que destaca una falla grave en la seguridad del proceso de instalación del paquete Python Masu.

A pesar de las advertencias y correcciones anteriores, la misma vulnerabilidad de confusión de dependencia ha resurgido en nuevos lanzamientos de paquetes en el ecosistema de software.

El problema se descubrió por primera vez en abril de 2022, cuando Giraffe Security informó de una vulnerabilidad en Neuron SDK de AWS, un conjunto de bibliotecas de Python que permiten cargas de trabajo de aprendizaje automático en el hardware especializado de AWS.

Este problema surge de la documentación y las instrucciones de instalación oficiales de AWS, que recomiendan comandos como los siguientes:

pip installTransformers-neuronx –extra-index-url=https://pip.repos.neuron.amazonaws.com

A primera vista, este comando parece sencillo. Indique al administrador de paquetes pip de Python que instale el paquete Transformers-neuronx desde el repositorio específico de AWS (https://pip.repos.neuron.amazonaws.com). Sin embargo, este enfoque contiene peligros ocultos derivados de la forma en que pip maneja los parámetros.

problemas técnicos

El parámetro –extra-index-url no restringe exclusivamente las descargas de paquetes al repositorio privado especificado.

En su lugar, puede confiar en pip para buscar paquetes en los repositorios públicos predeterminados de PyPi y si el paquete no se encuentra en el índice especificado. Esto crea una vulnerabilidad significativa. Un atacante malicioso podría cargar un paquete con el mismo nombre en PyPi y engañar a los usuarios para que descarguen y ejecuten código malicioso.

En 2022, Giraffe Security confirmó esta vulnerabilidad al reclamar nombres de paquetes de AWS desprotegidos, como mx-neuron en PyPi, e informar de esta falla a través del programa de recompensas por errores de AWS.

AWS abordó inmediatamente este problema cargando versiones “ficticias” de marcador de posición de los paquetes afectados en PyPi para evitar una mayor explotación. Sin embargo, la causa raíz del error en la dependencia del parámetro –extra-index-url seguía sin resolverse.

Investigue enlaces maliciosos, malware y ataques de phishing del mundo real con ANY.RUN: pruébelo gratis

Patrones de negligencia: 2020 y 2022

Una investigación más exhaustiva en 2022 reveló que este no era el primer ejemplo de tal vulnerabilidad. Los datos históricos de Library.io, una base de datos de software de código abierto, muestran que el paquete de neuronas antorcha de AWS estuvo expuesto de manera similar en 2020, lo que indica que el mismo riesgo de interrupción de dependencia existía antes.

En ese momento, los investigadores de seguridad cargaron numerosas versiones del paquete en PyPi para resaltar la falla, lo que obligó a AWS a tomar medidas correctivas.

AWS ha sido consciente de este problema desde al menos 2020, pero no logró implementar una solución permanente, lo que provocó una exposición repetida a la vulnerabilidad en 2022.

Hat Trick: Descubrimiento en 2024

A pesar de las múltiples advertencias y correcciones a lo largo de los años, la última investigación de Giraffe Security de diciembre de 2024 revela que AWS ha vuelto a introducir la misma vulnerabilidad.

El índice de paquetes privados del Neuron SDK estaba creciendo significativamente, pero AWS se olvidó de solicitar de forma preventiva nombres de paquetes recién agregados a PyPi. Esto permitió a Giraffe Security registrar con éxito algunos nombres de paquetes nuevos en su propia cuenta PyPi. Esto muestra claramente que AWS no ha aprendido de sus errores pasados.

Los repetidos errores de Amazon plantean dudas sobre cómo aborda este tema. Por otro lado, su rápida respuesta a informes anteriores sugiere que se están tomando en serio la vulnerabilidad. Sin embargo, la recurrencia de los mismos defectos indica una falta de procesos sistemáticos para prevenirlos.

Este descuido puede deberse a diferentes perspectivas.

Error de documentación: AWS puede ver esto como un problema de configuración causado por una interpretación incorrecta de la documentación por parte del cliente. Aunque los desarrolladores experimentados de Python son conscientes de los riesgos asociados con –extra-index-url, la confianza de AWS en este parámetro en los tutoriales oficiales es definitivamente engañosa. Problema de baja prioridad: AWS cree que los clientes son responsables de garantizar la seguridad de sus instalaciones y es posible que no consideren que este problema sea crítico. Sin embargo, esta postura ignora el hecho de que la documentación oficial de AWS contribuye directamente al problema.

Esta situación pone de relieve una importante lección de seguridad. Incluso las fuentes de información fiables, como la documentación oficial de AWS, no son inmunes a los errores.

Los desarrolladores siempre deben examinar y comprender completamente el proceso de instalación del paquete antes de implementarlo en un sistema de producción. Debería considerar alternativas más seguras, como usar el parámetro –index-url para limitar las descargas solo a repositorios privados o aprovechar administradores de paquetes modernos como Poetry.

Si bien este problema recurrente puede parecer una vulnerabilidad de nicho, tiene implicaciones de gran alcance para la seguridad del ecosistema de la nube.

Los ataques de confusión de dependencia son una preocupación creciente, especialmente porque cada vez más organizaciones dependen de registros de paquetes privados junto con repositorios públicos como PyPi y npm.

La responsabilidad de mitigar estos riesgos recae no sólo en los usuarios finales, sino también en los proveedores de servicios como AWS, quienes deben garantizar que sus herramientas y documentación sigan las mejores prácticas de seguridad.

Silencio de AWS

A pesar de múltiples intentos de contactar a Amazon para hacer comentarios, Giraffe Security no ha recibido respuesta. Es sorprendente que AWS, uno de los proveedores de nube más grandes del mundo, no tenga una solución sólida y duradera en este caso, especialmente dada su reputación de priorizar la seguridad.

El repetido fracaso de AWS para abordar la misma vulnerabilidad RCE en Neuron SDK pone de relieve una falla alarmante en sus procesos de seguridad. Si bien las soluciones inmediatas a los informes individuales fueron rápidas, la falta de una solución permanente al problema subyacente sigue siendo un problema.

Esperamos que esta noticia le resulte interesante. ¡Síganos en Google News, LinkedIn y X para obtener actualizaciones instantáneas!