Early Review of draft-ietf-mailmaint-oauth-public-05
review-ietf-mailmaint-oauth-public-05-secdir-early-jones-2026-08-16-00
| Request | Review of | draft-ietf-mailmaint-oauth-public |
|---|---|---|
| Requested revision | No specific revision (document currently at 06) | |
| Type | Early Review | |
| Team | Security Area Directorate (secdir) | |
| Deadline | 2026-07-31 | |
| Requested | 2026-06-24 | |
| Requested by | Ken Murchison | |
| Authors | Neil Jenkins , Ben Bucksch | |
| I-D last updated | 2026-09-16 (Latest revision 2026-09-16) | |
| Completed reviews |
Artart Early review of -06
by Martin J. Dürst
Secdir Early review of -05 by Michael B. Jones (diff) |
|
| Comments |
Sorry if this is a duplicate request. I can't find any indication that my first request was sent |
|
| Assignment | Reviewer | Michael B. Jones |
| State | Completed | |
| Request | Early review on draft-ietf-mailmaint-oauth-public by Security Area Directorate Assigned | |
| Posted at | https://mailarchive.ietf.org/arch/msg/secdir/3MrU_xJnD0LeT-i5G7-gZFog0Bo | |
| Reviewed revision | 05 (document currently at 06) | |
| Result | Has issues | |
| Completed | 2026-08-16 |
review-ietf-mailmaint-oauth-public-05-secdir-early-jones-2026-08-16-00
SecDir early review of draft-ietf-mailmaint-oauth-public-05 Document: draft-ietf-mailmaint-oauth-public-05 Title: OAuth Profile for Open Public Clients Reviewer: Michael B. Jones Review result: Has Issues I have reviewed this document as part of the security directorate's ongoing effort to review all IETF documents being processed by the IESG. These comments were written primarily for the benefit of the security area directors. Document editors and WG chairs should treat these comments just like any other last call comments. MAJOR ISSUES 3.3. Dynamic Client Registration says: The redirect URI restrictions MUST be enforced. These ensure the OAuth flow can only be completed by native clients — not web clients. If this profile is only useful for Native Clients and not Web Clients, I believe you should be much clearer about this in the Abstract and Introduction and say why you are placing this restriction in the Introduction. This is too big a restriction to have buried only in a clause about Dynamic Client Registration. 5.1. Interoperable OAuth Scopes Registry There needs to be language about when support for the registered interoperable scopes is supported by general OAuth implementations versus when support is required only when supporting particular profiles, such as the one defined by this specification. This may also affect the Registration Procedure instructions. This is a major addition to OAuth. As such, it needs to be brought to the attention of the OAuth working group and reviewed there. (You can do that after you add the explanatory text I'm asking for here and in the next section, as that will help the OAuth working group review be more productive.) I suspect you may be asked to change the title of the registry from "Interoperable OAuth Scopes" to something like "Mail Maintenance OAuth Scopes" so that it's clear what the scope of applicability of this registry is. 5.1.1. Registration Procedure Please specify that registration requests use the oauth-ext-review@ietf.org mailing list as other OAuth registries do. I suggest copying the registration instructions at https://www.rfc-editor.org/rfc/rfc9728.html#name-iana-considerations, modifying them only as necessary for your registry. You should also provide instructions to the designated experts on when the urn:ietf:params:oauth:scope:* naming convention must be used, such as urn:ietf:params:oauth:scope:mail, and when unstructured strings may be used, such as offline_access. MINOR ISSUES 3.1. Overview, list item 3 says: 3. The client instance authorizes using the Authorization Code Grant flow ([RFC6749], Section 4.1) with PKCE [RFC7636] and Issuer Identification [RFC9207]. The client instance also sends Resource Indicators [RFC8707], however server support for this is RECOMMENDED. What is the implication of "however server support for this is RECOMMENDED"? What happens if the server doesn't support Resource Indicators? 3.2. Fetching the Authorization Server Metadata says: If a path is present, it MUST NOT contain . or .. segments, MUST NOT end with a trailing slash Does this mean that issuer identifiers with a path consisting of "/" such as https://as.example.com/ MUST NOT be used and instead https://as.example.com MUST be used? The spec should be clear about that. 3.4. Authorization says: After constructing the authorization request URL, the app uses platform-specific APIs to open it in an external user-agent. You should explain the restriction to external user-agents and why a user-agent built into the application MAY NOT be used. Also, is this restriction enforceable? 3.4. Authorization says: Other URL parameters MAY be supplied but will be ignored. This is underspecified. What kinds of other URL parameters are you referring to? redirect_uri values? Also, why is it safe to ignore them, rather than rejecting them, per the redirect_uri matching rules? 3.8. Getting a New Access Token In "You cannot share a refresh token between devices.", change "cannot" to "MUST NOT". 3.9. Token Expiry Times says: If the refresh token is revoked, all existing stateful connections MUST immediately be closed. Detecting refresh token revocation isn't possible until the refresh token is used, so this requirement isn't possible to fulfill, as written. Please update to say that stateful connections MUST be closed once revocation of the refresh token is detected. 3.10. Client Id Validity Change "which MAY be different to the previous time" to "which MAY be different than the previous client id". 4. Security Considerations When referencing RFC 6819, also reference RFC 9700/BCP 240. 4. Security Considerations Add a reference for passkeys - possibly [WebAuthn]. 4. Security Considerations says: The attacker defines the real authorization_endpoint and token_endpoint, but their own resource servers. This is not grammatically correct. Do you mean to say, "The attacker uses the real authorization_endpoint and token_endpoint values in its metadata, but uses their own resource servers."? Similarly, please correct the ungrammatical sentence "The attacker defines the real authorization_endpoint and resource servers, but their own token_endpoint." 4. Security Considerations Change "Implementors" to "Implementers". 5.1.3. Initial Registry Contents Correct "OpenID connect" to "OpenID Connect". 5. IANA Considerations This specification defines many values in the urn:ietf:params:oauth: namespace without registering them in the IANA OAuth URI registry at https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#uri. Please register them. 6. Normative References Please correct the WebAuthn reference to: <reference anchor="WebAuthn" target="https://www.w3.org/TR/2021/REC-webauthn-2-20210408/"> <front> <title>Web Authentication: An API for accessing Public Key Credentials - Level 2</title> <author initials="J." surname="Hodges" fullname="Jeff Hodges" role="editor"> <organization>PayPal</organization> <address> <email>jdhodges@google.com</email> </address> </author> <author initials="J.C." surname="Jones" fullname="J.C. Jones" role="editor"> <organization>Mozilla</organization> <address> <email>jc@mozilla.com</email> </address> </author> <author initials="M.B." surname="Jones" fullname="Michael B. Jones" role="editor"> <organization>Microsoft</organization> <address> <email>mbj@microsoft.com</email> <uri>http://self-issued.info/</uri> </address> </author> <author initials="A." surname="Kumar" fullname="Akshay Kumar" role="editor"> <organization>Microsoft</organization> <address> <email>akshayku@microsoft.com</email> </address> </author> <author initials="E." surname="Lundberg" fullname="Emil Lundberg" role="editor"> <organization>Yubico</organization> <address> <email>emil@yubico.com</email> </address> </author> <date day="8" month="April" year="2021"/> </front> <refcontent>W3C Recommendation</refcontent> </reference> 7. Informative References Please correct the OpenID Connect Discovery reference to: <reference anchor="OpenID.Discovery" target="https://openid.net/specs/openid-connect-discovery-1_0.html"> <front> <title>OpenID Connect Discovery 1.0</title> <author fullname="Nat Sakimura" initials="N." surname="Sakimura"> <organization abbrev="NAT.Consulting (was at NRI)">NAT.Consulting</organization> </author> <author fullname="John Bradley" initials="J." surname="Bradley"> <organization abbrev="Yubico (was at Ping Identity)">Yubico</organization> </author> <author fullname="Michael B. Jones" initials="M.B." surname="Jones"> <organization abbrev="Self-Issued Consulting (was at Microsoft)">Self-Issued Consulting</organization> </author> <author fullname="Edmund Jay" initials="E." surname="Jay"> <organization abbrev="Illumila">Illumila</organization> </author> <date day="15" month="December" year="2023"/> </front> </reference> Please correct the OpenID Connect Core reference to: <reference anchor="OpenID.Core" target="https://openid.net/specs/openid-connect-core-1_0.html"> <front> <title>OpenID Connect Core 1.0</title> <author fullname="Nat Sakimura" initials="N." surname="Sakimura"> <organization abbrev="NAT.Consulting (was at NRI)">NAT.Consulting</organization> </author> <author fullname="John Bradley" initials="J." surname="Bradley"> <organization abbrev="Yubico (was at Ping Identity)">Yubico</organization> </author> <author fullname="Michael B. Jones" initials="M.B." surname="Jones"> <organization abbrev="Self-Issued Consulting (was at Microsoft)">Self-Issued Consulting</organization> </author> <author fullname="Breno de Medeiros" initials="B." surname="de Medeiros"> <organization abbrev="Google">Google</organization> </author> <author fullname="Chuck Mortimore" initials="C." surname="Mortimore"> <organization abbrev="Disney (was at Salesforce)">Disney</organization> </author> <date day="15" month="December" year="2023"/> </front> </reference> Acknowledgements Please add an Acknowledgements section listing non-editors who have contributed to the specification. An example Acknowledgements section can be found at https://www.rfc-editor.org/rfc/rfc9700.html#name-acknowledgements.