On Wed, May 07, 2014 at 12:13:40PM -0400, Ted Unangst wrote:

> On Wed, May 07, 2014 at 13:49, Stuart Henderson wrote:
> > On 2014/05/05 12:38, Ted Unangst wrote:
> >> CVSROOT:   /cvs
> >> Module name:       src
> >> Changes by:        [email protected]    2014/05/05 12:38:42
> >> 
> >> Modified files:
> >>    lib/libssl/src/crypto/bn: bn_lib.c 
> >> 
> >> Log message:
> >> inspired by a cloudflare diff, cleanse old memory when expanding a bignum.
> >> however, instead of trying to audit all the places where a secret bignum
> >> is used, apply the big hammer and clear all bignums when freed.
> >> ok deraadt miod
> >> 
> > 
> > this breaks rsa, backout diff below.
> > 
> > openssl openssl genrsa -out some.key 2048
> > openssl req -new -key some.key -out some.csr
> > <fill out the fields>
> > <hangs>
> 
> After putting the diff back in, I can't reproduce any trouble. Are you
> sure? I tried both the above tests, and libcrypto and libssl regress.

I see coredumps with openssl req:

Core was generated by `openssl'.
Program terminated with signal 8, Arithmetic exception.
(no debugging symbols found)
Loaded symbols for /usr/obj/usr.sbin/openssl/openssl
Reading symbols from /usr/lib/libssl.so.24.0...done.
Loaded symbols for /usr/lib/libssl.so.24.0
Reading symbols from /usr/lib/libcrypto.so.26.1...done.
Loaded symbols for /usr/lib/libcrypto.so.26.1
Reading symbols from /usr/lib/libc.so.74.2...done.
Loaded symbols for /usr/lib/libc.so.74.2
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0  0x00001012ead3ea20 in BN_div (dv=Variable "dv" is not available.
)
    at /usr/src/lib/libcrypto/crypto/../../libssl/src/crypto/bn/bn_div.c:297
    297                             q=bn_div_words(n0,n1,d0);


        -Otto

Reply via email to