[UNIX] Multiple Vulnerabilities in Old Releases of MIT Kerberos
From: support@securiteam.com
Date: 01/29/03
- Previous message: support@securiteam.com: "[EXPL] Outlook Remote Code Execution in Preview Pane (S/MIME, PoC)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
From: support@securiteam.com To: list@securiteam.com Date: 29 Jan 2003 16:21:08 +0200
The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion
Beyond Security would like to welcome Tiscali World Online
to our service provider team.
For more info on their service offering IP-Secure,
please visit http://www.worldonline.co.za/services/work_ip.asp
- - - - - - - - -
Multiple Vulnerabilities in Old Releases of MIT Kerberos
------------------------------------------------------------------------
SUMMARY
Multiple vulnerabilities have been found in MIT Kerberos 5 releases prior
to release 1.2.5. MIT recommends updating to 1.2.7 if possible.
DETAILS
Vulnerable systems:
* All releases of MIT Kerberos 5 before 1.2.5
Immune systems:
* All releases of MIT Kerberos 5 after and including 1.2.7.
Impact:
* A remote user can crash the KDC.
* A user authenticated in a remote realm may be able to claim to be other
non-local users to an application server.
* It may be possible for a user to gain access to the KDC system and
database.
Fix:
MIT recommends updating to release 1.2.5 or later, preferably to the
latest release. Patches specifically to fix these problems are not
available at this time.
This announcement and related security advisories may be found on the MIT
Kerberos security advisory page at:
<http://web.mit.edu/kerberos/www/advisories/index.html>
http://web.mit.edu/kerberos/www/advisories/index.html
The main MIT Kerberos web page is at:
<http://web.mit.edu/kerberos/www/index.html>
http://web.mit.edu/kerberos/www/index.html
Technical details:
Problem 1: KDC null pointer dereferences
Certain protocol requests, compliant with the protocol encoding scheme but
indicative of a client system most likely configured incorrectly, can
crash a KDC with a null pointer dereference. MIT does not believe any
exploit to gain access to the KDC or otherwise alter its behavior is
possible on systems without storage mapped at address zero. MIT has not
explored the effects of this on a system with mapped memory at address
zero.
The fallback and retransmit algorithm used in the MIT krb5 library will
cause an application not receiving a reply from a KDC to try other KDCs in
the same realm; it will iterate through this list a few times, or until it
gets a response. Thus, one client may take down multiple KDCs.
MIT believes this vulnerability is limited to the TGS-REQ exchange, that
is, cases where the user has already authenticated to the KDC or one with
which it shares inter-realm keys. So (ignoring cases of well-known
passwords) there is an audit trail of sorts, even if it has to be dug out
of a core file, and it is not a simple, scriptable attack against KDCs in
general.
Workarounds:
- Start your KDC from inittab or a loop in a shell script. (The inittab
approach may not work well if the KDC is crashed too often in a short span
of time.)
Thanks to <mailto:GregPryzby@aol.com> greg pryzby for reporting this
problem.
Problem 2: realm transit checks
Realms with shared keys can impersonate people in other non-local realms
in certain cases. It may be exploitable in various ways if non-local
principal names are on critical ACLs.
This vulnerability affects both the KDC and Kerberos application servers.
This problem was fixed in the 1.2.3 release. That release also added a
flag to the KDC config file that can be set to refuse untrusted
cross-realm authentication, in case application servers cannot be updated
quickly enough. This is not recommended as a long-term solution, because
the current model MIT use says that the application server is responsible
for doing this validation, which allows (for example) a service on a
specific machine (perhaps one set up for software testing) to be
configured to know about authentication paths known to the maintainer of
the service, even if the maintainer of the KDC does not trust these paths
for general use within the realm. Enforcing this limitation in the KDC
takes this option away from the maintainers of individual machines.
Workarounds:
- Delete or change inter-realm keys so inter-realm authentication is
disabled.
- Remove all non-local principals from all critical ACLs in services
using old MIT Kerberos code to validate the realm transit path
Thanks to <mailto:seph@mit.edu> Joseph Sokol-Margolis and
<mailto:gbritton@alum.mit.edu> Gerald Britton for finding this problem.
Problem 3: format strings
Older versions of the MIT KDC used strings containing Kerberos principal
names as printf-style format strings in logging routines.
At least some cases do not require successful authentication, so this can
be used as a remote, anonymous attack.
It is easy to crash the KDC with this exploit. MIT does not know of any
exploits to gain access to the host system, but MIT does not rule out the
possibility.
Workarounds:
See under problem 1. ***However, these do not address the host access
possibility.***
Thanks to <mailto:ellidz@eridu.uchicago.edu> E. Larry Lidz for
discovering this problem.
Problem 4: bounds checking on data sizes
Some of our code does not do bounds checking on lengths before allocating
storage. On some systems, attempting to allocate large negative amounts of
storage can crash the program. Thus, some bogus packets may crash the KDC
or an application server using Kerberos. MIT does not believe this can be
exploited to gain access to the host system.
Workarounds:
- Start KDC in a loop in a script, or from inittab
- Do likewise for any server processes that need to handle multiple
client connections
Thanks to CERT for bringing this to our attention.
ADDITIONAL INFORMATION
The information has been provided by <mailto:raeburn@MIT.EDU> Ken
Raeburn.
========================================
This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com
====================
====================
DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.
- Next message: support@securiteam.com: "[UNIX] New YabbSE Remote Code Execution Vulnerability Found (News.php)"
- Previous message: support@securiteam.com: "[EXPL] Outlook Remote Code Execution in Preview Pane (S/MIME, PoC)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
- Re: KDC Hardware
... both need _extra ordinary security_ so it's easier to ... has a complete copy
of the Kerberos database, including the keys for every ... Recovering from such a compromise
requires issuing new ... EVEN IF THE KDC IS SHUT DOWN. ... (comp.protocols.kerberos) - MITKRB5-SA-2003-001: Multiple vulnerabilities in old releases of MIT Kerberos
... Multiple vulnerabilities in old releases of MIT Kerberos ... Severity: CRITICAL:
Remote user can crash KDC, ... other KDCs in the same realm; it will iterate through
this list a few ... (Bugtraq) - Encryption Type wrong
... For both the KDC and the Kerberos-Clients I have configured them to use only the dec-crc-cbc:default
encryption type. ... Unfortunately GNU/Linux kinit breaks if the KDC does not have
a key with the des-cbc-crc:normal encryption type in store. ... # The following encryption type
specification will be used by MIT Kerberos ... (comp.protocols.kerberos) - MIT kerberos and ssh
... I have been able to start the KDC but have not gotten much further as I would like
to fix the ssh problem first. ... Is there a certain build order for MIT kerberos
and openssh? ... I have 6 Debian clients, 2 WinXP clients, and 1 Debian KDC slave and wanted
this machine to be an MIT-KDC ... (freebsd-hackers) - Re: Different error codes between AD KDC and MIT KDC
... K5 KDC and a Windows Active Directory KDC. ... MIT KDC returns
31, ... returned if the pre-authentication check fails. ... (comp.protocols.kerberos)