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
18 artículos·5 ediciones·Desde 2026·Hecho en España
© 2026 BBLabs News·Por Gorka El Bochi
BBLabs NewsBBLabs News
NoticiasTodas las noticiasTemas
EN
TaxJar: el org owner podía secuestrar cuentas de miembros
Volver al inicioBug Bounty

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.

  1. Inicio
  2. ›
  3. Bug Bounty
  4. ›
  5. TaxJar: el org owner podía secuestrar cuentas de miembros
por Gorka El Bochi Morillo
·
2 min lectura
·28 de mayo, 2026

Qué pasa

@akashhamal0x01 descubrió que en TaxJar (plataforma de gestión fiscal, dentro del programa de bug bounty de Stripe en HackerOne) un *Organization Owner* podía modificar el email de cualquier miembro de su organización.

El flujo de ataque es directo:

1. El atacante controla una org en TaxJar (o crea una nueva). 2. La víctima es miembro de esa org. 3. El atacante *cambia el email de la víctima* por una dirección propia. 4. Solicita un reset de contraseña al nuevo email. 5. Acceso total. Cuenta tomada.

La API de gestión de miembros no validaba si el campo `email` debería ser editable desde un rol de organización. TaxJar lo parchó restringiendo a los Organization Owners de editar ese campo en cuentas ajenas.

Por qué importa

Este patrón aparece constantemente en plataformas B2B multi-tenant (infraestructura compartida que sirve a múltiples organizaciones clientes). Los roles de org heredan demasiados permisos por diseño: «el owner gestiona su org» termina significando «puede tocar cualquier atributo de sus miembros», incluyendo campos de identidad que nunca deberían ser accesibles desde ese nivel.

El impacto potencial es takeover masivo: una org con 500 empleados = 500 cuentas secuestrables con llamadas API legítimas, sin explotar CVEs ni bypassear 2FA.

La clase de bug es Broken Access Control — posición #1 en OWASP (Open Web Application Security Project — lista de los fallos más críticos en apps web). El fallo concreto: la lógica de negocio confundió «gestionar organización» con «editar identidad de usuarios».

Qué hacer

Si cazas bugs en SaaS multi-tenant o plataformas B2B:

  • Mapea los endpoints de gestión de miembros: `PUT /org/members/{id}`, `PATCH /users/{id}/profile`. Comprueba si aceptan el campo `email` o `phone`.
  • Autentícate como org owner: intenta cambiar el email de otro miembro de la misma org. Si el servidor lo acepta, tienes un Broken Access Control confirmado.
  • Encadena la técnica: cambio de email → password reset = IDOR (Insecure Direct Object Reference — acceder o modificar datos de otro usuario sin autorización) + ATO chain (cadena de ataque que resulta en Account Takeover — toma completa de cuenta). Un bug de severidad media se convierte en crítico.
  • Audita también teléfono, username y recovery codes: cualquier campo que permita resetear credenciales tiene el mismo impacto potencial.

Este bug vive en la intersección entre la lógica de negocio y el modelo de permisos. Los scanners automáticos no lo detectan. Se caza leyendo la API y razonando sobre qué debería poder hacer cada rol sobre los datos de otros usuarios.

Qué hacer

  • Testear si el rol de org owner puede editar el email de otro usuario.
  • Encadenar cambio de email con reset de contraseña para demostrar ATO.
  • Auditar teléfono, username y recovery codes como campos de identidad críticos.

Comparte esta noticia

Ayuda a que más gente descubra BBLabs News.

TaxJar: el org owner podía secuestrar cuentas de miembros
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 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.

  • Validar que space, indent y object_nl no contengan null bytes antes de pasarlos a extensiones C
  • Hacer whitelist de valores de formato en APIs donde el cliente controla opciones de serialización
  • Auditar todos los bindings nativos del stack donde input externo llegue sin sanitizar a código C/C++
Gorka El Bochi Morillo
Leer artículo
Bug Bounty27 may 2026·2 min

Detenido operador de Kimwolf: botnet DDoS-for-hire desde Canadá

Detienen en Canadá al operador de Kimwolf, botnet de DDoS-for-hire variante de AISURU.

Leer artículo
Bug Bounty26 may 2026·3 min

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.

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
18 artículos·5 ediciones·Desde 2026·Hecho en España
© 2026 BBLabs News·Por Gorka El Bochi