OpenJDK 8u302 - Kerberos - Allow non-forwardable S4U2Self ticket
Alexey Bakhtin
alexey at azul.com
Tue Aug 10 16:20:06 UTC 2021
Hi Martin,
This is not a JDK8u specific issue. There is a bug for this issue against upstream : https://bugs.openjdk.java.net/browse/JDK-8272162
Regards
Alexey
> On 10 Aug 2021, at 19:08, Martin Balao <mbalao at redhat.com> wrote:
>
> Hi Vipul,
>
> Thanks for raising this issue.
>
> Let me ask you a few questions:
>
> 1) Is this JDK-8 specific? Otherwise, we need to forward it to the
> security-dev list.
>
> 2) The enforcement of forwardable S4U2Self tickets was previous to
> JDK-8005819. In fact, it was introduced as part of JDK-8022582 [1]. Does
> JDK-8005819 change anything in this regard? (i.e. enabled something new
> that was not possible before, etc.)
>
> 3) Re-introducing the behavior of forwarding non-forwardable tickets in
> OpenJDK's client when it has not been there for quite some time would
> require a strong reason, even under a non-default flag. I'd appreciate
> if you can point me to protocol documentation to back that up. This is
> different than allowing such behavior for backward-compatibility reasons
> as a result of a recent or new change -possibly under a non-default
> flag-. In addition, if there is any other Krb client that documents or
> implements this behavior it would be good to know. At first glance looks
> counter-intuitive and even a security weakness to forward
> non-forwardable tickets from the client-side.
>
> I'm CC'ing @Max to this email as he might have more insights on this.
>
> Regards,
> Martin.-
>
> --
> [1] - http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/ae6449bc523f#l3.17
>
>
>
> On 7/30/21 6:04 AM, Vipul Mehta wrote:
>> Hi,
>>
>> Resource based constrained delegation support was added to JDK via
>> following fix: https://bugs.openjdk.java.net/browse/JDK-8005819
>>
>> This change does not allow S4U2Self ticket issued by KDC to be
>> non-forwardable, as
>> sun.security.krb5.internal.CredentialsUtil -> acquireS4U2selfCreds() ->
>> line 105 throws exception.
>>
>> Resource based constrained delegation S4U2Proxy will work even without a
>> non forwardable S4U2Self ticket if KDC is configured to accept such a
>> ticket. So, Java should let KDC decide whether to accept or reject such a
>> ticket.
>>
>> S4U2Self ticket will be marked as forwardable by microsoft KDC in following
>> cases:
>> 1) trustedToAuthForDelegation is true
>> 2) trustedToAuthForDelegation is false and msDs-AllowedToDelegateTo list is
>> empty.
>>
>> If trustedToAuthForDelegation is false and msDs-AllowedToDelegateTo list is
>> non-empty then S4U2Self ticket will not have a forwardable flag.
>>
>> The S4U2Self ticket is used in S4U2Proxy TGS-Request.
>> If S4U2Self ticket is not forwardable then S4U2Proxy will work in following
>> cases of single realm resource based constrained delegation:
>>
>> 1) Patch for CVE-2020-16996 is not applied in KDC.
>> 2) Patch for CVE-2020-16996 is applied in KDC and registry entry -
>> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Kdc\NonForwardableDelegation
>> is set to 1. (DWORD type)
>>
>
More information about the jdk8u-dev
mailing list