Una configuración errónea en AWS CodeBuild expuso repositorios de GitHub a ataques de Cadena de Suministro

Ciberataque Masivo a AWS: 230 Millones de Objetivos Escaneados

Investigadores descubren que una falla en la validación de usuarios permitía a atacantes tomar control de repositorios críticos de Amazon, incluyendo el SDK de JavaScript, poniendo en riesgo a todo el ecosistema de AWS. 

La pesadilla de la cadena de suministro casi se hace realidad para Amazon Web Services. Investigadores han revelado hoy los detalles de “CodeBreach”, una vulnerabilidad crítica derivada de una configuración errónea en los procesos de integración continua (CI) de AWS CodeBuild. 

Si bien AWS corrigió el problema en septiembre de 2025 tras la divulgación responsable, los detalles técnicos hechos públicos hoy demuestran lo frágil que puede ser la seguridad de DevOps frente a un error de expresión regular (Regex). 


El Fallo: Un Regex Incompleto 

El problema no estaba en el servicio CodeBuild per se, sino en cómo ciertos proyectos de código abierto gestionados por AWS validaban quién podía ejecutar una compilación (“build”). 

  • El Mecanismo: Proyectos como aws-sdk-js-v3 utilizan filtros de ACTOR_ID (ID de usuario de GitHub) para asegurarse de que solo los mantenedores de confianza puedan activar el pipeline de CI. 
  • El Error: El filtro utilizaba una expresión regular para verificar el ID del usuario, pero olvidaron incluir los anclajes de inicio (^) y fin ($). 
  • La Explotación: Esto significaba que el sistema aceptaba cualquier ID que contuviera el ID de confianza como subcadena. Por ejemplo, si el ID del administrador era 123456, un atacante podía crear un usuario con ID 9912345600 y el sistema lo dejaba pasar. 

Dado que los IDs de GitHub son numéricos y secuenciales, los investigadores calcularon que podían generar bots automatizados hasta obtener un ID que coincidiera con la “supercadena” necesaria, logrando burlar el filtro en cuestión de días. 


Impacto: Las Llaves del Reino 

Al engañar al sistema para que ejecutara una compilación maliciosa, el atacante podía extraer los secretos almacenados en el entorno de CodeBuild. 

  • El Botín: Tokens de acceso personal (PAT) de GitHub con privilegios de administrador. 
  • El Riesgo: Con estos tokens, un atacante podría haber inyectado código malicioso directamente en el AWS JavaScript SDK, una librería utilizada por millones de aplicaciones y por la propia consola de administración de AWS. Esto habría permitido un ataque de cadena de suministro de proporciones catastróficas. 

Repositorios Afectados: 
  • aws-sdk-js-v3 
  • aws-lc 
  • amazon-corretto-crypto-provider 
  • awslabs/open-data-registry 

Respuesta y Lecciones Aprendidas 

AWS ha confirmado que se trató de configuraciones erróneas específicas de esos proyectos y no un fallo del servicio global. Además de corregir los regex, han rotado todas las credenciales expuestas y asegurado que no hubo explotación “in the wild”. 


Recomendaciones
  • Validación Estricta: Nunca confíes en entradas no saneadas en tus pipelines de CI/CD. Asegura que tus expresiones regulares sean exactas (usa ^ y $). 
  • Principio de Menor Privilegio: Los tokens utilizados en entornos de compilación deben tener el alcance mínimo necesario. 
  • Aprobación de PRs: Implementar barreras que requieran aprobación manual de comentarios antes de ejecutar código de colaboradores externos (“Pull Request Comment Approval”). 

Related Post