BBLabs NewsBBLabs News
NoticiasTodas las noticiasTemas
EN
BBLabs NewsBBLabs News

BBLabs News

Una historia al día. Cero ruido.

Newsletter técnica de ciberseguridad. Una historia al día sobre CVEs críticos, brechas, bug bounty e IA. Filtrado por IA, escrito para humanos.

Producto

  • Hemeroteca
  • Ediciones
  • Temas
  • Glosario
  • RSS
  • Atom
  • JSON Feed

Editorial

  • Acerca de
  • Suscribirse
  • Cuenta
  • English

Legal

  • Privacidad
  • Términos
  • Contacto: team@bblabs.es

Conectar

  • YouTube · @0xGorka
  • Instagram · @bblabs.es
  • Discord BBLabs
  • Discord Bug Bounty ES
31 artículos·10 ediciones·Desde 2026·Hecho en España
© 2026 BBLabs News·Por Gorka El Bochi
BBLabs NewsBBLabs News
NoticiasTodas las noticiasTemas
EN
Repo jacking en bundler.io: supply chain abierta
Volver al inicioBug Bounty

Repo jacking en bundler.io: supply chain abierta

Repo jacking en bundler.io permitía reclamar el repo GitHub de Bundler y servir código malicioso a cualquier proyecto Ruby que lo referenciara.

  1. Inicio
  2. ›
  3. Bug Bounty
  4. ›
  5. Repo jacking en bundler.io: supply chain abierta
por Gorka El Bochi Morillo
·
3 min lectura
·26 de mayo, 2026

Qué pasa

Un investigador descubrió y reportó en HackerOne que bundler.io —documentación oficial de Bundler, el gestor de gemas de Ruby— enlazaba a dos repositorios de GitHub (`rubygems/bundler-site` y `rubygems/bundler.github.io`) cuyo username original había quedado libre tras un cambio de propietario en la organización.

El bug class es repo jacking (*secuestro de repositorio de dependencias*, una variante de *supply chain attack* — ataque que compromete la cadena de suministro de software en lugar del objetivo final directamente). El mecanismo es simple: cuando un usuario u organización de GitHub cambia de nombre, el username anterior queda disponible para que cualquier persona lo registre. Si sitios con autoridad —como la documentación oficial de un gestor de dependencias— siguen apuntando a esa URL antigua, el atacante que reclama el username puede *reemplazar el contenido al que todos los links del ecosistema hacen referencia*.

El informe también identificó un open redirect (redirección abierta — una URL de un dominio de confianza que redirige al usuario a cualquier destino que el atacante elija) en el mismo dominio de bundler.io, encadenando ambos vectores para amplificar el alcance del ataque.

Por qué importa

Este patrón no es exclusivo de RubyGems. El mismo vector existe en *cualquier proyecto* cuya documentación, README, o sitio web enlace repos de GitHub con usernames que alguna vez cambiaron. Y no hace falta que el repo contenga código ejecutable directamente: basta con que sirva scripts de instalación, snippets que se copian en terminales, o que esté listado como fuente de confianza.

La superficie es enorme. Miles de proyectos open source han pasado por fusiones, renombrados o abandonos de cuentas. Los IOC (huellas técnicas que delatan el ataque — en este caso, repos reclamados con contenido inesperado) son difíciles de detectar si no monitorizas activamente qué hay detrás de los links que publicas.

El open redirect añade otro ángulo: incluso sin llegar al repo jacking completo, un atacante puede abusar de redirects en dominios de confianza para saltarse filtros anti-phishing o encadenar con otros ataques de ingeniería social.

El bug class combina baja barrera de entrada (registrar un username es gratis y trivial) con impacto potencialmente crítico (inyección de código en proyectos que confían en esas referencias). Es el tipo de hallazgo que los programas de bug bounty (programas de recompensa por vulnerabilidades) tienden a subestimar hasta que alguien lo explota en producción.

Qué hacer

Si mantienes documentación o un sitio de proyecto:

  • Audita hoy todos los links externos a GitHub en tu documentación, README y sitio web. Verifica que los usernames sigan activos y pertenecen a quien deben.
  • Configura alertas (GitHub Dependabot, scripts de monitorización) para detectar cambios inesperados en repositorios que referencias.
  • Migra links a URLs con commit hash o forks bajo tu propia organización cuando el repositorio externo sea crítico.

Si cazas bugs (bug bounty hunter):

  • Busca en `waybackmachine.org` o `github.com/search` usernames referenciados en docs de proyectos populares que ya no existen como organización activa.
  • Comprueba si el dominio objetivo tiene endpoints con parámetros `?url=`, `?redirect=`, `?next=`, `?return_to=` — son candidatos a open redirect.
  • Encadena repo jacking + open redirect para elevar severidad: el redirect puede usarse para que el sitio oficial sirva como puente hacia el repo malicioso.

Si eres SOC (equipo de operaciones de seguridad que monitoriza amenazas activas):

  • Incluye monitorización de repositorios de dependencias en tu modelo de amenazas para proyectos internos que usen gestores de paquetes basados en GitHub.

El patrón de repo jacking lleva años documentado pero sigue apareciendo en programas maduros. La razón: los equipos auditan código, no links. Un link en docs tiene la misma capacidad de daño que una dependencia directa si está en la cadena de confianza.

Qué hacer

  • Auditar todos los links a GitHub en tus docs y verificar que el username sigue activo.
  • Buscar parámetros de redirección (`?url=`, `?redirect=`) en dominios de programas de bug bounty.
  • Migrar referencias críticas a commit-hash fijos o forks bajo tu propia organización.

Comparte esta noticia

Ayuda a que más gente descubra BBLabs News.

Repo jacking en bundler.io: supply chain abierta
VerticalDescargar imagen
LinkedInXWhatsApp

¿Te interesa Bug Bounty?

Suscríbete a esta rama y recibe lo más relevante cada día — sin spam, sin ruido.

Suscribirme

Artículos relacionados

Destacado
Bug Bounty31 may 2026·2 min

Shopify: bypass de confirmación de email → ATO

@ngalog bypaseó el parche de un bug previo en Shopify para verificar emails ajenos y acceder a cuentas de otros usuarios.

  • Retestear el flujo completo después de que llegue un fix publicado.
  • Buscar reportes resueltos de la misma clase de vuln en HackerOne.
  • Probar verificación de email siempre con dos cuentas separadas.
Gorka El Bochi Morillo
Leer artículo
Bug Bounty30 may 2026·2 min

Ruby JSON.generate: fuga de memoria heap con null bytes

JSON.generate en Ruby expone memoria heap arbitraria al pasar null bytes en JSON::State.space.

Leer artículo
Bug Bounty28 may 2026·2 min

TaxJar: el org owner podía secuestrar cuentas de miembros

TaxJar (Stripe) permitía a un org owner cambiar el email de cualquier miembro para tomar el control total de su cuenta.

Leer artículo

¿Quieres recibir noticias así cada día?

Ver todos los artículos
BBLabs NewsBBLabs News

BBLabs News

Una historia al día. Cero ruido.

Newsletter técnica de ciberseguridad. Una historia al día sobre CVEs críticos, brechas, bug bounty e IA. Filtrado por IA, escrito para humanos.

Producto

  • Hemeroteca
  • Ediciones
  • Temas
  • Glosario
  • RSS
  • Atom
  • JSON Feed

Editorial

  • Acerca de
  • Suscribirse
  • Cuenta
  • English

Legal

  • Privacidad
  • Términos
  • Contacto: team@bblabs.es

Conectar

  • YouTube · @0xGorka
  • Instagram · @bblabs.es
  • Discord BBLabs
  • Discord Bug Bounty ES
31 artículos·10 ediciones·Desde 2026·Hecho en España
© 2026 BBLabs News·Por Gorka El Bochi