You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specification/draft/basic/authorization.mdx
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -299,7 +299,7 @@ Authorization servers **SHOULD** only automatically redirect the user agent if i
299
299
300
300
### 3.4 Confused Deputy Problem
301
301
302
-
An attacker can exploit configurations where an MCP server operates as a proxy in front of a third party resource server, leading to the confused deputy problem.
302
+
An attacker can exploit configurations where an MCP server operates as a proxy in front of another resource server, leading to the confused deputy problem.
303
303
304
304
#### 3.4.1 Terminology
305
305
@@ -376,13 +376,14 @@ attack becomes possible:
376
376
indicating consent for the static client ID
377
377
3. An attacker later sends the user a malicious link containing a crafted authorization request
378
378
4. When the user clicks the link, their browser still has the consent cookie from the previous legitimate request
379
-
5. The third-party authorization server sees the cookie and skips the consent screen
379
+
5. The third-party authorization server detects the cookie and skips the consent screen
380
380
6. The MCP authorization code is redirected to the attacker's server (specified in the crafted redirect_uri during dynamic client registration)
381
-
7. The attacker exchanges the stolen authorization code for access tokens without the user's explicit approval
381
+
7. The attacker exchanges the stolen authorization code for access tokens for the MCP server without the user's explicit approval
382
+
8. Attacker now has access to the third-party API as the compromised user
382
383
383
384
#### 3.4.4 Mitigation
384
385
385
386
MCP proxy servers that use a static client ID for third-party services MUST require explicit
386
-
approval for each newly registered dynamic client before forwarding requests to the
387
+
approval for each dynamically registered client before forwarding requests to the
387
388
third-party authorization server for user consent. This ensures that each MCP client's
388
389
access is explicitly controlled at the proxy level.
0 commit comments