< draft-bradley-oauth-open-redirector-01.txt   draft-bradley-oauth-open-redirector-02.txt >
OAuth Working Group J. Bradley OAuth Working Group J. Bradley
Internet-Draft Ping Identity Internet-Draft Ping Identity
Intended status: Standards Track A. Sanso, Ed. Intended status: Standards Track A. Sanso, Ed.
Expires: September 24, 2015 Adobe Systems Expires: January 22, 2016 Adobe Systems
H. Tschofenig H. Tschofenig
July 21, 2015
March 23, 2015
OAuth 2.0 Security: OAuth Open Redirector OAuth 2.0 Security: OAuth Open Redirector
draft-bradley-oauth-open-redirector-01.txt draft-bradley-oauth-open-redirector-02.txt
Abstract Abstract
This document gives additional security considerations for OAuth, This document gives additional security considerations for OAuth,
beyond those in the OAuth 2.0 specification and in the OAuth 2.0 beyond those in the OAuth 2.0 specification and in the OAuth 2.0
Threat Model and Security Considerations. Threat Model and Security Considerations.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 35 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 24, 2015. This Internet-Draft will expire on January 22, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notational Conventions . . . . . . . . . . . . . . . . . 2 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 2
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2
2. Authorization Server Error Response . . . . . . . . . . . . . 3 2. Authorization Server Error Response . . . . . . . . . . . . . 3
2.1. Abuse: The Authorization Server As Open Redirector . . . 3 2.1. Abuse: The Authorization Server As Open Redirector . . . 3
2.2. Security Compromise: The Authorization Server As Open 2.2. Security Compromise: The Authorization Server As Open
Redirector . . . . . . . . . . . . . . . . . . . . . . . 4 Redirector . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Mitigation . . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Mitigation . . . . . . . . . . . . . . . . . . . . . . . 5
3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6
4. Normative References . . . . . . . . . . . . . . . . . . . . 6 4. Normative References . . . . . . . . . . . . . . . . . . . . 6
Appendix A. Document History . . . . . . . . . . . . . . . . . . 7 Appendix A. Document History . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
This document gives additional security considerations for OAuth, This document gives additional security considerations for OAuth,
beyond those in the OAuth 2.0 specification [RFC6749] and in the beyond those in the OAuth 2.0 specification [RFC6749] and in the
OAuth 2.0 Threat Model and Security Considerations [RFC6819]. In OAuth 2.0 Threat Model and Security Considerations [RFC6819]. In
particular focuses its attention on the risk of abuse the particular focuses its attention on the risk of abuse the
Authorization Server (AS) (Section 1.2) as an open redirector. Authorization Server (AS) (Section 1.2) as an open redirector.
skipping to change at page 6, line 8 skipping to change at page 5, line 43
Section 2.2 the ?AS? can either: Section 2.2 the ?AS? can either:
o Respond with an HTTP 400 (Bad Request) status code. o Respond with an HTTP 400 (Bad Request) status code.
o Perform a redirect to an intermediate URI under the control of the o Perform a redirect to an intermediate URI under the control of the
AS to clear referer information in the browser that may contain AS to clear referer information in the browser that may contain
security token information. This page SHOULD provide notice to security token information. This page SHOULD provide notice to
the resource owner that an error occurred, and request permission the resource owner that an error occurred, and request permission
to redirect them to an external site. to redirect them to an external site.
If redirected, the fragment "#_=_" MUST be appended to the error If redirected, a fragment "#" MUST be appended to the error
redirect URI. This prevents the browser from reattaching the redirect URI. This prevents the browser from reattaching the
fragment from a previous URI to the new location URI. fragment from a previous URI to the new location URI.
Some
When redirecting via 30x a Content Security Policy header SHOULD be When redirecting via 30x a Content Security Policy header SHOULD be
added: added:
Content-Security-Policy: referrer origin; Content-Security-Policy: referrer origin;
Figure 2 Figure 2
When redirecting via a form post the following tag SHOULD be When redirecting via a form post the following tag SHOULD be
included: included:
skipping to change at page 6, line 41 skipping to change at page 6, line 31
We would like to thank all the people that partecipated to the We would like to thank all the people that partecipated to the
discussion, namely Bill Burke, Hans Zandbelt, Justin P. Richer, Phil discussion, namely Bill Burke, Hans Zandbelt, Justin P. Richer, Phil
Hunt, Takahiko Kawasaki, Torsten Lodderstedt, Sergey Beryozkin. Hunt, Takahiko Kawasaki, Torsten Lodderstedt, Sergey Beryozkin.
4. Normative References 4. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6749] Hardt, D., "The OAuth 2.0 Authorization Framework", RFC [RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework",
6749, October 2012. RFC 6749, DOI 10.17487/RFC6749, October 2012,
<http://www.rfc-editor.org/info/rfc6749>.
[RFC6819] Lodderstedt, T., McGloin, M., and P. Hunt, "OAuth 2.0 [RFC6819] Lodderstedt, T., Ed., McGloin, M., and P. Hunt, "OAuth 2.0
Threat Model and Security Considerations", RFC 6819, Threat Model and Security Considerations", RFC 6819,
January 2013. DOI 10.17487/RFC6819, January 2013,
<http://www.rfc-editor.org/info/rfc6819>.
Appendix A. Document History Appendix A. Document History
[[ to be removed by the RFC Editor before publication as an RFC ]] [[ to be removed by the RFC Editor before publication as an RFC ]]
-01 -01
o Added information on HTTP headders to include to set referrer to o Added information on HTTP headders to include to set referrer to
origin origin
 End of changes. 11 change blocks. 
12 lines changed or deleted 15 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/