[krbdev.mit.edu #9037] Race condition in krb5_set_password()
"Greg Hudson via RT" <[email protected]> Fri, 12 Nov 2021 13:04:40 -0500
| Newsgroups | gmane.comp.encryption.kerberos.bugs |
|---|---|
| Message-ID | <rt-4.4.3-2-71932-1636740280-1540.9037-5-0@kerborg-prod-app-1.mit.edu> |
<URL: http://kerborg-prod-app-1.mit.edu/rt/Ticket/Display.html?id=9037 > After some thought, I think a reasonable strategy is to try TCP only, and after that completely fails, try UDP only. This will have terrible performance if TCP/464 is blackholed, but it will at least work. I can see two basic implementation directions: we could define a new k5_transport_strategy and handle this within k5_sendto(), or we could make two separate calls to k5_sendto(). The latter option still requires an adjustment to the internal k5_locate/k5_sendto APIs since we can't currently ask for UDP only. This plan does not rule out potential TCP-only races involving multiple admin servers, but I think we can defer worrying about that until it becomes a real issue.