BBLabs NewsBBLabs News
NewsAll articlesTopics
ES
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
NewsAll articlesTopics
ES
TaxJar: org owner could hijack any member's account
Back to homeBug Bounty

TaxJar: org owner could hijack any member's account

TaxJar (Stripe) let an org owner overwrite any member's email address, enabling full account takeover.

  1. Home
  2. ›
  3. Bug Bounty
  4. ›
  5. TaxJar: org owner could hijack any member's account
by Gorka El Bochi Morillo
·
2 min read
·May 28, 2026

What happened

@akashhamal0x01 found that TaxJar (tax management SaaS, part of Stripe's bug bounty program on HackerOne) let an *Organization Owner* modify the email address of any member within their organization.

Attack flow:

1. Attacker creates or controls an org on TaxJar. 2. Victim is a member of that org. 3. Attacker *overwrites the victim's email* with an attacker-controlled address. 4. Triggers a password reset to the new email. 5. Full account access — account taken over.

The member-management API didn't validate whether the `email` field should be writable by an org-level role. TaxJar patched it by blocking Organization Owners from editing email fields on other users' accounts.

Why it matters

This pattern is endemic to B2B multi-tenant SaaS (shared infrastructure serving multiple customer organizations). Org roles tend to inherit too many permissions by design — «owner manages the org» quietly becomes «owner can edit any member attribute,» including identity fields that should never be reachable from that role.

Blast radius: mass account takeover. An org with 500 members = 500 accounts hijackable with legitimate, authenticated API calls. No CVE, no 2FA bypass needed.

Bug class: Broken Access Control — #1 on OWASP (Open Web Application Security Project — the authoritative list of critical web application vulnerabilities). The specific failure: business logic conflated «manage org» with «edit user identity.»

What to do

Hunting on B2B or multi-tenant SaaS targets:

  • Map member-management endpoints: `PUT /org/members/{id}`, `PATCH /users/{id}/profile`. Check if they accept `email` or `phone` fields.
  • Authenticate as org owner: attempt to change another member's email. Server accepts it? Broken Access Control confirmed.
  • Chain the technique: email change → password reset = IDOR (Insecure Direct Object Reference — accessing or modifying another user's data without authorization) + ATO chain (attack chain ending in Account Takeover — full account compromise). A medium-severity bug becomes critical.
  • Always test every identity field: phone, username, recovery codes — anything that enables credential reset carries the same impact.

This bug lives at the intersection of business logic and the permission model — exactly where automated scanners miss it. You find it by reading the API and reasoning about what each role *should* be able to do to other users' data.

What to do

  • Test if org owner role can overwrite another member's email field.
  • Chain email change to password reset to prove full account takeover.
  • Audit all identity fields: phone, username, recovery codes — not just email.

Share this story

Help more people discover BBLabs News.

TaxJar: org owner could hijack any member's account
VerticalDownload image
LinkedInXWhatsApp

Interested in Bug Bounty?

Subscribe to this stream and get the most relevant news every day — no spam, no noise.

Subscribe

Related articles

Destacado
Bug Bounty30 may 2026·2 min

Ruby JSON.generate leaks heap memory via null bytes

Ruby's JSON.generate leaks arbitrary heap memory when null bytes are passed via JSON::State.space.

  • Validate that space, indent, and object_nl contain no null bytes before hitting C extensions
  • Whitelist format values in APIs where clients control serialization options
  • Audit all native bindings in your stack where external input reaches C/C++ code unsanitized
Gorka El Bochi Morillo
Leer artículo
Bug Bounty27 may 2026·2 min

Kimwolf DDoS-for-hire botnet operator arrested in Canada

DoJ arrests Canadian operator of Kimwolf, a DDoS-for-hire botnet built as a variant of AISURU.

Leer artículo
Bug Bounty26 may 2026·3 min

Repo jacking on bundler.io: open supply chain attack

Repo jacking on bundler.io let an attacker claim Bundler's orphaned GitHub repo and inject malicious code into any Ruby project referencing it.

Leer artículo

Want to get news like this every day?

Browse all articles
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