Skip to content

Commit e7f2c58

Browse files
authored
Merge branch 'pcarleton-security-considerations' into pcarleton/confused-deputy
2 parents 3f709e2 + c8567fb commit e7f2c58

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

docs/specification/draft/basic/authorization.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,25 +265,25 @@ Implementations **MUST** follow OAuth 2.1 security best practices as laid out in
265265
Attackers who obtain tokens stored by the client, or tokens cached or logged on the server can access protected resources with
266266
requests that appear legitimate to resource servers.
267267

268-
Clients **MUST** implement secure token storage and follow OAuth 2.0 best practices,
268+
Clients **MUST** implement secure token storage and follow OAuth best practices,
269269
as outlined in [OAuth 2.1, section 7.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-7.1).
270270

271-
MCP authorization servers SHOULD enforce token expiration and rotation to limit the window of exploitation.
271+
MCP authorization servers SHOULD issue short-lived access tokens token to reduce the impact of leaked tokens. For public clients, MCP authorization servers MUST rotate refresh tokens as described in [Section 4.3.1 of OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-4.3.1).
272272

273273
### 3.2 Communication Security
274274
An attacker positioned between MCP clients and MCP servers can intercept tokens via [Man-in-the-Middle (MITM)](https://en.wikipedia.org/wiki/Man-in-the-middle_attack) attacks.
275275

276276
Implementations MUST follow [OAuth 2.1 section 1.5](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-1.5).
277277

278278
Specifically:
279-
1. All authorization endpoints **MUST** be served over HTTPS.
279+
1. All authorization server endpoints **MUST** be served over HTTPS.
280280
1. All redirect URIs **MUST** be either `localhost` or use HTTPS.
281281

282282
### 3.3 Authorization Code Protection
283283

284284
An attacker who has gained access to an authorization code contained in an authorization response can try to redeem the authorization code for an access token or otherwise make use of the authorization code. (Further described in [OAuth 2.1, section 7.5](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-7.5))
285285

286-
MCP clients **MUST** implement PKCE according to [OAuth 2.1 section 7.5.2](https://www.ietf.org/archive/id/draft-ietf-oauth-v2-1-12.html#name-countermeasures). PKCE helps prevent authorization code interception attacks by requiring clients to create a secret verifier-challenge pair, ensuring that only the original requestor can exchange an authorization code for tokens.
286+
MCP clients **MUST** implement PKCE according to [OAuth 2.1 section 7.5.2](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-12#section-7.5.2). PKCE helps prevent authorization code interception and injection attacks by requiring clients to create a secret verifier-challenge pair, ensuring that only the original requestor can exchange an authorization code for tokens.
287287

288288

289289
### 3.3 Open Redirection

0 commit comments

Comments
 (0)