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
22 artículos·5 ediciones·Desde 2026·Hecho en España
© 2026 BBLabs News·Por Gorka El Bochi
BBLabs NewsBBLabs News
NewsAll articlesTopics
ES
Shopify: email confirmation bypass → account takeover
Back to homeBug Bounty

Shopify: email confirmation bypass → account takeover

@ngalog bypassed Shopify's patch for a prior email-confirmation bug and verified arbitrary emails to access accounts they didn't own.

  1. Home
  2. ›
  3. Bug Bounty
  4. ›
  5. Shopify: email confirmation bypass → account takeover
by Gorka El Bochi Morillo
·
2 min read
·May 31, 2026

What happened

@ngalog found this bug while retesting the fix for report #791775 on Shopify (myshop.myshopify.com). The first bug had already been closed. @ngalog checked the patch, found it was incomplete, and filed a second report the same day — hence the Part II title.

The mechanic: Shopify's email confirmation flow had a bypass that let an attacker associate someone else's email with their own account. Once verified, they gained access to the legitimate owner's account — no password, no second factor.

This is *privilege escalation* (gaining access beyond your authorization level without legitimate credentials): a normal user account becomes a vector to control someone else's. The entry point is an email verification flow — it feels low-risk but it's the identity anchor of the whole system.

Shopify responded fast: the feature was disabled immediately and a permanent fix shipped in two hours.

Why it matters

"Retest the fix" is one of the highest-yield patterns in bug bounty. Mature programs like Shopify carry complex legacy auth flows and ship patches under pressure. That creates two recurring opportunities:

  • Incomplete fix: the patch closes vector A but leaves vector B exposed in the same flow.
  • Regression: the fix introduces a new bug in adjacent code.

Email verification flows are especially rich because they involve scoped tokens with complex binding (which account does this token belong to?), they're easy to get wrong — predictable tokens, reusable tokens, tokens not bound to the originating session — and the impact is usually direct ATO (Account Takeover — full control of another user's account).

In programs with millions of users, even "a small subset of accounts" can mean thousands of real users exposed.

What to do

If you're hunting programs with a public HackerOne history:

  • Find resolved reports in your target vuln class (email verification, account linking, OAuth). Read the title and response timeline.
  • Map when the fix landed and identify what functionality was touched in that commit or sprint.
  • Retest the full flow, not just the exact reported vector. Patches cover the happy path but miss edge cases: tokens sent to multiple emails, email-change flow vs. initial verification, internal APIs vs. public UI.
  • Always test with two accounts: attacker and victim. Email-based ATO bugs require confirming real cross-account access — don't accept a false positive.

In identity systems, "verified email" is the trust anchor for password reset, SSO, and merchant permissions. Any bypass in verification is automatically critical scope — and Shopify had two in the same flow.

What to do

  • Retest the full flow after any published fix lands.
  • Hunt resolved reports in your target vuln class on HackerOne.
  • Test email verification with two separate attacker and victim accounts.

Share this story

Help more people discover BBLabs News.

Shopify: email confirmation bypass → account takeover
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 Bounty28 may 2026·2 min

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.

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

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