Hello Folks,
I am experiencing a hard to debug crash in openssl crypto library within our
process. 
We have a client and server which communicates using SSL with NULL
encryption. The client when it connects to the server sends a Certificate
signing request, the server responds by sending the server certificate. All
works fine during test and even under load using openssl version 0.9.8 and
also 1.0.1f I believe, but we are experiencing crash with version 1.0.1h
under load setup (Once every day).

The simulator which we use to simulate a client disconnects and connects
back to the server many times, each time asking for the certificate from the
server. The crash was seen just once the entire day. So I dont think its
anywhere close to broken functionality. Looks like more of a race issue.

Similar references:
http://openssl.6102.n7.nabble.com/Crash-in-libcrypto-so-1-0-0-td42043.html

Also, I have verified the data sent by the client from the core dump using a
test program.
Also from openssl command:
openssl req -inform DER -in filebin -verify
verify OK
.......
....
....

So it is not that the client is sending corrupt data, even if it was
sending, it should have failed in "d2i_X509_REQ" which we call before
calling "X509_REQ_verify".

This is the stack trace we get (Top half only):

Thread 1 (Thread 0x7fa62851d700 (LWP 19528)):
#0  0x00007fa62657f2d6 in __strcmp_sse42 () from /lib64/libc.so.6
#1  0x00007fa6276f5b4a in ?? () from /usr/lib64/libcrypto.so.10
#2  0x00007fa6276f5b8c in lh_retrieve () from /usr/lib64/libcrypto.so.10
#3  0x00007fa62767c758 in OBJ_NAME_get () from /usr/lib64/libcrypto.so.10
#4  0x00007fa62770d49d in ASN1_item_verify () from
/usr/lib64/libcrypto.so.10
#5  0x00000000008a1fd7 in ca::CA::process_cert_request(unsigned char const*,
unsigned long, std::vector<unsigned char, std::allocator<unsigned char> >*)
()

Hardware Info:
4 core Genuine Intel(R) CPU
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf
pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm
sse4_1 sse4_2 x2apic popcnt aes xsave avx lahf_lm arat epb xsaveopt pln pts
tpr_shadow vnmi flexpriority ept vpid

Per processor:
cpu MHz         : 2500.172
cache size      : 8192 KB

Any help on debugging this would be appreciated.




--
View this message in context: 
http://openssl.6102.n7.nabble.com/Openssl-1-0-1h-RHEL-6-x86-64-Crash-in-lh-retrieve-tp52523.html
Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to