Vulnerability Note VU#623217
Cryptographic weakness in Kerberos Version 4 protocol
Several cryptographic vulnerabilities exist in the basic Kerberos Version 4 protocol that could allow an attacker to impersonate any user in a Kerberos realm and gain any privilege authorized through that Kerberos realm.
The MIT Kerberos Development team has discovered a serious cryptographic flaw in the Kerberos version 4 protocol. This flaw could allow an attacker to compromise the entire affected Kerberos realm.
From the MIT advisory:
"Kerberos version 4 tickets include neither a cryptographic hash of the encrypted data, random padding, nor a random initial vector. As such, if an attacker can cause the right text to be encrypted in a Kerberos service key, then the attacker can fabricate a ticket. Normally an attacker does not control much of the text in the ticket so this cryptographic weakness is hard to exploit.
The initial portion of a Kerberos 4 ticket is a one-byte flags field (either 0 or 1) followed by the client name. Since all of this initial text is constant, the beginning of a ticket for a given client/service will be the same. An attacker thus knows the encryption of the initial plaintext in the service key. If an attacker can control client principals whose names he chooses, then he can get the encryption of these plaintext values in the service key."
Because this is a flaw in the Kerberos 4 protocol, all implementations of vulnerable functionality are vulnerable. This includes all implementations of the Kerberos version 4 Key Distribution Center that allow cross-realm authentication and all implementations of the Kerberos version 5 Key Distribution Center that also implement a KDC for the Kerberos version 4 protocol and use the same keys for version 4 and version 5.
The Kerberos version 5 protocol is not vulnerable to this issue. However, implementations that implement both Kerberos 4 and Kerberos 5 tend to use the same keys for both protocols. As a result, the Kerberos 4 vulnerabilities can be used to compromise Kerberos 5 services at sites using these implementations.
A number of specific impacts can result because of this vulnerability:
- An attacker controlling a Kerberos version 4 shared cross-realm key can impersonate any principal in the remote realm to any service in the remote realm. This can lead to root-level compromise of a KDC, along with compromise of any hosts that rely on authentication provided by that KDC.
- This attack may be performed against cross-realm principals, thus allowing an attacker to hop realms and compromise any realm that transitively shares a cross-realm key with the attacker's local realm.
- Related, but more difficult attacks may be possible without requiring the control of a shared cross-realm key. At the very least, an attacker capable of creating arbitrary principal names in the target realm may be able to perform the attack.
- In conjunction with VU#442569, an attacker may impersonate any principal to a service keyed with triple-DES Kerberos version 4 keys, given the ability to capture network traffic containing tickets for the target client principal.
Apply a patch from the vendor
The MIT Kerberos team has released MIT krb5 Security Advisory 2003-004 regarding this vulnerability. Sites are strongly encouraged to apply the patches referenced in the advisory.
If you are a vendor and your product is affected, let
us know.View More »
In the absence of patching, the following workarounds have been proposed by the MIT Kerberos team:
1) V4 Cross Realm Considered Harmful
Kerberos implementations should gain an option to
disable Kerberos 4 cross-realm authentication both in the KDC and
in any implementations of the krb524 protocol. This configuration
should be the default.
2) Application Migration
Application vendors and sites should migrate from Kerberos version 4
to Kerberos version 5. The OpenAFS community has introduced features
that allow Kerberos 5 to be used for AFS in OpenAFS 1.2.8. Patches
are available to add Kerberos 5 support to OpenSSH. Several other
implementations of the SSH protocol also support Kerberos 5.
Applications such as IMAP, POP and LDAP already support Kerberos 5.
3) TGT Key Separation
One motivation for the V4 triple DES support is that if a single
DES key exists for the TGT principal then an attacker can attack
that key both for v4 and v5 tickets. Kerberos
implementations should gain support for a DES TGT key that is used
for v4 requests but not v5 requests.
4) Remove Triple DES Kerberos 4 Support
The cut and paste attack is a critical failure in MIT's attempt at
Kerberos 4 Triple DES. Even without cross-realm authentication,
this can be exploited in real-world situations. As such the
support for 3DES service keys should be disabled.
The CERT/CC thanks Sam Hartman, Ken Raeburn, and Tom Yu of the Kerberos group at MIT for their detailed analysis and report of this vulnerability.
This document was written by Chad Dougherty.
15 Mar 2003
Date First Published:
20 Mar 2003
Date Last Updated:
09 May 2003
If you have feedback, comments, or additional information about this vulnerability, please send us email.