

https://blog.doyensec.com/2025/01/30/oauth-common-vulnerabilities.html
I haven’t seen it. Thanks for sharing!
afaik, it doesn’t cover this use-case (where the Resource Server [Stripe] just uses the wrong flow – forcing us to expose our access keys to a third party).
But, curious, it lists 0 attacks for the OAuth Flow that Stripe should be using here = Client Credentials Flow.
Edit: ahhhhh, this paragraph is elucidating
The Authorization Code Flow is one of the most widely used OAuth flows in web applications. Unlike the Implicit Flow, which requests the Access Token directly to the Authorization Server, the Authorization Code Flow introduces an intermediary step. In this process, the User Agent first retrieves an Authorization Code, which the application then exchanges, along with the Client Credentials, for an Access Token. This additional step ensures that only the Client Application has access to the Access Token, preventing the User Agent from ever seeing it.
I confirmed that Stripe is using the Authorization Code Flow
curl https://connect.stripe.com/oauth/token \
-u sk_test_MgvkTWK1jRG3olSRx9B7Mmxo: \
-d “code”=”ac_123456789” \
-d “grant_type”=”authorization_code”
…but it does appear to be using the wrong OAuth Flow type. They give the token to us in the end. There’s no need to expose it to a third party.
So I guess “choosing the wrong flow type” would be a valid addition to the “attacks” section under Authorization Code Flow
I will, but I’m 85% sure they already know – but they made a business decision to make one OAuth flow for all “platforms” for a consistent & simpler UX (at the expense of extra security risk, which they’ve accepted).
Edit: wait, did you mean email stripe or email the pentest company that authored the article of common oauth vulns?