Universal Cross-app Attacks:
Exploiting and Securing OAuth 2.0 in Integration Platforms
2025. 8. 6.
USENIX `25
Kaixuan Luo, Xianbo Wang, Pui Ho Adonis Fung, Wing Cheong Lau, and Julien Lecomte
The Chinese University of Hong Kong
Samsung Research America
Motivation
2
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.crystalloids.com%2Finsights%2Fapplication-integration-google-cloud&psig=AOvVaw2bguVIyhb71Mc895TOFHNT&ust=1754511393443000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqGAoTCNjamrW-9I4DFQAAAAAdAAAAABClAQ
https://www.des-show.com/app/uploads/automation-1.jpg
�
An integration platforms are a cloud-based platform for creating interconnected ecosystems
Smart Homes
Workflow Automation platforms
🡺 The primary goal is to enable a wide range of external services to be orchestrated on behalf of users
Virtual Assistant
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.nocutnews.co.kr%2Fnews%2F5251002&psig=AOvVaw26GETbCZeqAoomhgI4sgJV&ust=1754542937596000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqFwoTCJD7vJS09Y4DFQAAAAAdAAAAABAE
Motivation
3
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.crystalloids.com%2Finsights%2Fapplication-integration-google-cloud&psig=AOvVaw2bguVIyhb71Mc895TOFHNT&ust=1754511393443000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqGAoTCNjamrW-9I4DFQAAAAAdAAAAABClAQ
https://www.des-show.com/app/uploads/automation-1.jpg
�
An integration platforms are a cloud-based platform for creating interconnected ecosystems
Smart Homes
Workflow Automation platforms
🡺 The primary goal is to enable a wide range of external services to be orchestrated on behalf of users
Virtual Assistant
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.nocutnews.co.kr%2Fnews%2F5251002&psig=AOvVaw26GETbCZeqAoomhgI4sgJV&ust=1754542937596000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqFwoTCJD7vJS09Y4DFQAAAAAdAAAAABAE
Motivation
4
🡺 Account linking can connect end-users’ account with third-party apps
https://www.google.com/imgres?q=Dropbox&imgurl=https%3A%2F%2Flookaside.fbsbx.com%2Flookaside%2Fcrawler%2Fmedia%2F%3Fmedia_id%3D100064666484929&imgrefurl=https%3A%2F%2Fwww.facebook.com%2FDropbox%2F&docid=gQUC8XtzG3Li9M&tbnid=9wQH_6mZdn4uHM&vet=12ahUKEwijwLTJtvWOAxUDnK8BHW7ZGGQQM3oECBoQAA..i&w=400&h=400&hcb=2&ved=2ahUKEwijwLTJtvWOAxUDnK8BHW7ZGGQQM3oECBoQAA
Integrated Platform
Connect to dropbox!
Dropbox
Gmail
OAuth check logic
OAuth check logic
https://www.google.com/url?sa=i&url=https%3A%2F%2Fhelp.wheniwork.com%2Farticles%2Fgoogle-login%2F&psig=AOvVaw1qT_29kZn9Q7xyyIz5qpeI&ust=1754544188799000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqFwoTCOjb2s249Y4DFQAAAAAdAAAAABA_
Motivation
5
Background
6
🡺 OAuth is an open standard for access delegation
🡺 Grant access to websites or applications to their information on other websites
Examples of OAuth2.0
https://www.google.com/url?sa=i&url=https%3A%2F%2Fvelog.io%2F%40duck-ach%2FSSO-SSOSingle-Sign-On%25EC%2597%2590-%25EB%258C%2580%25ED%2595%25B4%25EC%2584%259C&psig=AOvVaw2tS32rOUBGzzRXkXzwmp9g&ust=1754544670097000&source=images&cd=vfe&opi=89978449&ved=0CBUQjRxqFwoTCIirkLG69Y4DFQAAAAAdAAAAABAu
Background
7
🡺 I'll give you an example to help you understand
Front manager
My room
me
: master key of my room
Background
8
Front manager
me
Cleaning Company staff
Please give spare key to
Cleaning Company staff for 1 hours
Okay, You've been identified. I'll issue you an extra key
Background
9
Front manager
Cleaning Company staff
Please give spare key to me
Okay, I'll issue you an extra key
: extra key of my room with 1 hours limits
Background
10
Cleaning Company staff
Please clean my restroom, bed …
Okay, I’ll get in
: extra key of my room with 1 hours limits
My room
me
Background
11
Front manager
My room
me
Cleaning Company staff
: Resource owner (user)
: Authorization Server (AS)
Give access token after authorization
: Access token
: Resources
: Authorization information
: Third-party apps
Background
12
Traditional OAuth
: Authorization is delegated by trusted sites
,
,
…
OAuth in Integration Platforms
: Authorization is delegated by unknown entities
For instance, Google Home requests access to IoT devices
For instance, Outlook requests access to google server
🡺 Google server gives access to Outlook
🡺 IoT devices give access to Google Home
Background
13
Platform (i.g. Google Home)
Background
14
Third-party apps
Background
15
https://app.com/authorize?state=foo
&redirect_uri=https://platform.com/redirect
3. After login, they issue a code
This code can be exchanged to access token
4. They redirect to backend server (return_uri) � with code
Backend server checks the state / return_uri is tampered
State : mitigation for CSRF (binded in session)�Return uri : mitigation for Account Takeover attack
Background
16
Root Cause is they doesn’t compare the state and return_uri parameters
They solely trust state or return_uri 🡺 It can cause two kinds of attacks
COAT (Cross-app OAuth Account Takeover)
CORF (Cross-app OAuth Request Forgery)
Threat Model
17
Ease of malicious app penetration
Attack Scenario
18
Security requirements of existing OAuth
�These requirements also apply to integrated platforms,
but they are insufficient to protect multi-app environment
state : For AS, the state is opaque, and the platform may not be aware of it through multiple ASs.�redirect_uri : may be manipulated by AS
COAT (Cross-app OAuth Account Takeover)
19
If victim connected to Malicious app,
this app send crafted link to benign app
Benign app thinks that this is come from Backend server, they give code to backend.
Backend server only check the ID with state
So they think that this code is from Malicious app
They give Access token to Malicious app with benign code
CORF
20
They first collect benign app’s code with Attacker’s device
If victim connected to malicious app, this app redirect with benign code to backend
Backend thinks that this code is come from benign app
Because they only check the redirect_uri
🡺 They bind victim client with attacker’s account
Single-click COAT
21
Single-click COAT
22
Mitigation
23
They made COVScan tools,
which use decision tree to find vuln
Create a globally unique identifier (App ID) for each app to include it in both the state and redirect_uri path/subdomain
Evaluation
24
16 out of 18 integration platforms are susceptible to these attacks
Pros and Cons�
25
Pros
Cons
Thank you.
26