On 5/23/17 05:09, Alexey Melnikov wrote:
On Tue, May 23, 2017, at 10:24 AM, Alexey Melnikov wrote:
Hi William,

On 22 May 2017, at 23:14, William Denniss <wdenn...@google.com <mailto:wdenn...@google.com>> wrote:

    Section 8.1 makes the statement that "Loopback IP based redirect
    URIs may
    be susceptible to interception by other apps listening on the same
    loopback interface." That's not how TCP listener sockets work:
    for any
    given IP address, they guarantee single-process access to a port
    at any
    one time. (Exceptions would include processes with root access,
    but an
    attacking process with that level of access is going to be
    impossible to
    defend against). While mostly harmless, the statement appears to
    be false
    on its face, and should be removed or clarified.


Will be removed in the next update. Thank you.

Actually, I disagree with Adam on this, because what he says is OS specific. So I think the text is valuable and should stay.

In particular, I think SO_REUSEADDR socket option is widely implemented, both on Windows and Linux.


Okay, after doing a lot of digging, this appears to be much more complicated than it should be [1]. Linux (as of 3.9) does allow multiple _listeners_ on a single IP/Address pair (and does load balancing among them o_O), but only if they're both using SO_REUSEADDR ("don't do that then" would be good advice). Windows allows the kind of hijacking described in the document unless SO_EXCLUSIVEADDRUSE is set (and it might be good advice in this document to suggest setting it).

So I'm okay with the paragraph staying in, although I would like to see it qualified with "on some operating systems", and would like to see a note (probably in section B.3) recommending the use of SO_EXCLUSIVEADDRUSE on listening sockets.

/a


____

[1] The most comprehensive explanation of facts on the ground that I could find is https://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to