Bug 216482

Summary: CVE-2006-5989 mod_auth_kerb segfault with FC6 client
Product: Red Hat Enterprise Linux 4 Reporter: Josh Bressers <bressers>
Component: mod_auth_kerbAssignee: Joe Orton <jorton>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: dkelson, emcnabb, nalin, security-response-team
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: impact=low,source=bugzilla,reported=20060915,public=20061113
Fixed In Version: RHSA-2006-0746 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-12-06 17:47:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Josh Bressers 2006-11-20 18:44:18 UTC
+++ This bug was initially created as a clone of Bug #215443 +++

Description of problem:
I'm seeing a Apache segfault problem on two servers that cropped up once
I upgraded my desktop to Fedora Core v6. The segfault occurs 80% of the time
when it tries to auth me. This setup has been working for over a year with no
problems until I upgraded my desktop to FC6. My co-worker running FC5 continues
to work fine (as do Windows clients).

Fedora Core v6 ships and uses MIT kerberos v1.5 (my guess is the MIT kerb
version is relevant).

The two servers I'm using are:

* Fedora Core v4
+ mit krb 1.4.2
+ Apache httpd-2.0.54
+ mod_auth_krb 5.2 (I've tried 5.0 and 5.1 as well)

* Debian Sarge
+ mit krb 1.3
+ Apache 2.0.54
+ mod_auth_krb 5.0-rc6

On the Fedora server I was able to get this backtrace:
(gdb) bt full
#0  0x00dda402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00ac6f90 in raise () from /lib/libc.so.6
No symbol table info available.
#2  0x00ac8678 in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x00afc230 in __libc_message () from /lib/libc.so.6
No symbol table info available.
#4  0x00b04d0d in realloc () from /lib/libc.so.6
No symbol table info available.
#5  0x0038a2dd in decode_MechTypeList (
    p=0x99f1242
"\006\t*\206H\202�\022\001\002\002�\202\002\031\004\202\002\025`\202\002\021\006\t*\206H\206�\022\001\002\002\001",
len=11, data=0xa0c37b8, 
    size=0xbfd3e014) at spnegokrb5/asn1_MechTypeList.c:61
        ret = 18
        reallen = 29
        l = 7
        e = Variable "e" is not available.
(gdb)

Another time I saw:

(gdb) bt full
#0  0x00b01ed8 in _int_free () from /lib/libc.so.6
No symbol table info available.
#1  0x00b0272b in free () from /lib/libc.so.6
No symbol table info available.
#2  0x00bec4d6 in krb5_gss_release_cred (minor_status=0xbfd3e588,
cred_handle=0xbfd3e574) at rel_cred.c:73
        _r2 = Variable "_r2" is not available.

-- Additional comment from bressers on 2006-11-20 11:15 EST --
More information regarding this flaw (including the patch) can be found in bug
206736


This issue should also affect RHEL3

Comment 5 Red Hat Bugzilla 2006-12-06 17:47:33 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2006-0746.html