Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 8 Sep 2012 20:06:06 +0530
From: Dhiru Kholia <dhiru.kholia@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: New formats: KRB5-18 and KRB5-23

On Sat, Sep 8, 2012 at 7:54 PM, magnum <john.magnum@...hmail.com> wrote:
> On 09/08/2012 04:16 PM, Dhiru Kholia wrote:
>>
>> On Sat, Sep 8, 2012 at 6:17 PM, magnum <john.magnum@...hmail.com> wrote:
>>>
>>> That looks correct to me. Is there something similar in krb5-23?
>>>
>>> I tried this on OSX and now got this:
>>>
>>> Benchmarking: KRB5 aes256-cts-hmac-sha1-96 [32/64]...
>>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>>> Reason: 13 at address: 0x0000000000000000
>>> 0x00000001000408ac in crypt_all (count=98745856) at krb5-18_fmt.c:198
>>> 198                   crypt_out[index][i] = (key.contents[4 * i]) |
>>> (gdb) bt
>>> #0  0x00000001000408ac in crypt_all (count=98745856) at krb5-18_fmt.c:198
>>> #1  0x0000000100099b46 in fmt_self_test (format=0x1002dff20) at
>>> formats.c:104
>>> Previous frame inner to this frame (gdb could not unwind past this frame)
>>>
>>> This is a non-OMP build. Note the count=98745856... I'm puzzled this only
>>> happens on OSX.
>>
>>
>> I built john (on OSX) with debugging on and generated a core dump.
>> However, when I try to load the core in gdb the whole VM hangs.
>>
>> count=98745856, why is the count so high? This seems to be a bug!
>
>
> Yeah, that has to be a buffer overrun, it should be 1 in non-OMP. I would
> think the bug exist on Linux too but for various reasons it does not show
> up. Valgrind under Linux does not complain over anything. And Valgrind does
> not yet support OSX 10.8.


ret = krb5_c_string_to_key_with_params(NULL,
                                             enctype,
                                             &string,
                                             &salt,
                                             NULL,
                                             &key);
printf("ret %d\n", ret);
printf("kl %d\n", key.length)

Output:

ret 0
kl 105235005

Key Length should be 16 but it is random large value every time I run
the program. Something is wrong with the library call!

> BTW that 'i' variable declaration must be moved in krb5-18 too.

Already done.

-- 
Cheers,
Dhiru

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.