Ataque a la Cadena de Suministro de Laravel-Lang: 233 Versiones Envenenadas con Backdoor RCE
Cuatro paquetes de localización de Laravel fueron comprometidos con un ladrón de credenciales PHP inyectado en 233 tags de versión. Si usas alguno de los paquetes afectados, rota todos tus secretos de inmediato.
El 22 y 23 de mayo de 2026, investigadores de Aikido Security y el Socket Research Team descubrieron un ataque activo a la cadena de suministro del ecosistema Laravel. Los cuatro paquetes comprometidos — laravel-lang/lang (7.800 estrellas en GitHub), laravel-lang/http-statuses, laravel-lang/attributes y laravel-lang/actions — tenían 233 tags de versión maliciosos distribuidos en las ramas de lanzamiento 12.x a 15.x.
El vector de ataque explota una característica poco conocida de Composer combinada con GitHub: el atacante creó un fork malicioso de los repositorios oficiales y luego publicó tags de release desde los repos legítimos que apuntaban a commits dentro del fork controlado por el atacante. Para cualquier desarrollador revisando la lista de tags o los eventos de release, todo parecía normal. Una vez que Composer resolvía un tag envenenado, el código malicioso se cargaba automáticamente a través del autoloader, sin ninguna acción adicional por parte del usuario.
Qué hace el payload
El código inyectado es un ladrón de credenciales PHP de aproximadamente 5.900 líneas, organizado en quince módulos especializados. En ejecución, recolecta:
- Claves de acceso a la nube para AWS, GCP, Azure y DigitalOcean
- Archivos de configuración de Kubernetes y tokens de autenticación de Docker
- Claves privadas SSH y credenciales Git
- Cualquier secreto almacenado en archivos
.envde Laravel
Toda la información recolectada se exfiltra silenciosamente a un servidor controlado por el atacante mediante HTTPS.
Quiénes están afectados
Cualquier aplicación PHP que haya ejecutado composer install o composer update y descargado uno de los 233 hashes de versión comprometidos. Los pipelines de CI/CD con actualizaciones automáticas de dependencias son el objetivo de mayor riesgo, ya que el ataque estuvo activo el tiempo suficiente para comprometer múltiples entornos. Packagist eliminó las versiones maliciosas y ocultó temporalmente los cuatro paquetes al recibir la notificación.
Qué hacer ahora mismo
Revisa tu composer.lock en busca de alguno de estos paquetes. Si encuentras uno, trata el host como completamente comprometido:
- Rota cada secreto al que el sistema tenía acceso: claves IAM de AWS, cuentas de servicio de GCP, claves SSH, contraseñas de base de datos, tokens de API
- Audita los registros de acceso al proveedor de nube para detectar llamadas a la API inusuales en las últimas 72 horas
- Actualiza a las versiones limpias publicadas después del incidente o fija un hash de commit verificado
- Ejecuta
composer audity habilita Socket u herramientas SCA similares en tu pipeline de CI
El ataque a Laravel-Lang sigue el patrón establecido por los incidentes de node-ipc y el gusano npm de TanStack a principios de este mes. El ecosistema de Composer ha tenido históricamente menos comprobaciones de seguridad automatizadas que npm, lo que lo convierte en un objetivo cada vez más atractivo. El ritmo de los ataques a la cadena de suministro en PHP está acelerándose.
Packagist ha prometido implementar una validación más estricta sobre la propiedad de los tags de versión para prevenir la técnica de redirección de forks utilizada aquí. Ese trabajo está en curso.
Lecturas relacionadas
- Grandes Empresas Tech Socket Recauda $60M en Serie C con Valoración de $1.000M para Proteger Dependencias Open Source en la Era del Código IA
- Ciberseguridad China Usa la Brecha de Tata Electronics para Golpear el Ensamblaje de iPhone en India
- Ciberseguridad CVE-2026-42945 (CVSS 9.2): NGINX Rift — Desbordamiento de Montón Explotado en Producción, PoC Público de RCE Sin Autenticación