[Pkg-openssl-devel] Bug#394107: libssl0.9.8b+ fails key verification on SS20MP

Aleksi Suhonen ams at tikka.axu.tm
Thu Oct 19 14:59:13 UTC 2006


Package: libssl0.9.8
Version: 0.9.8b-1

I've got a SparcStation 20 with two cacheless CPUs. I can't make
ssh connections with newer libssl0.9.8 versions than 0.9.8a-8.
The problem appeared with the first 0.9.8b release and the newest
version I've tried is 0.9.8c-3, where it still fails. Also sshd
seems to suffer from this same problem.

I've tried connecting against more than one type of UNIXen,
sshd implementations, endianness platforms, etc. The result
is pretty much the same, so the problem can't be with the
other boxes.

I've also got several SparcStation 5's running Debian/unstable
and so far I haven't noticed any problems with them.

Is there some new hand optimized assembler code for sparcs
in libssl these days? If not, then I suspect that the problem
is with the gcc version used to compile the official packages
these days. I haven't got the resources to try out different
compiler versions though.
<opinion type="personal">gcc 2.95 is a lot more reliable on sparcs.</opinion>

Here are some cut'n'pastes that I hope will be helpful:

my-ss20% cat /proc/cpuinfo
cpu             : Texas Instruments, Inc. - SuperSparc-(II)
fpu             : SuperSparc on-chip FPU
promlib         : Version 3 Revision 2
prom            : 2.15
type            : sun4m
ncpus probed    : 2
ncpus active    : 2
Cpu0Bogo        : 49.86
Cpu1Bogo        : 49.97
MMU type        : TI Viking
contexts        : 65536
nocache total   : 2097152
nocache used    : 469504
CPU0            : online
CPU1            : online
my-ss20% ssh -vvv somehost
<...>
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.3p2 Debian-5
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-gro
up14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-dss,ssh-rsa
debug2: kex_parse_kexinit: blowfish-cbc,aes128-cbc,aes192-cbc,arcfour,3des-cbc,a
es256-cbc
debug2: kex_parse_kexinit: blowfish-cbc,aes128-cbc,aes192-cbc,arcfour,3des-cbc,a
es256-cbc
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160 at open
ssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160 at open
ssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib at openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib at openssh.com,zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-gro
up1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
aes192-cbc,aes256-cbc,rijndael-cbc at lysator.liu.se,aes128-ctr,aes192-ctr,aes256-c
tr
debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
aes192-cbc,aes256-cbc,rijndael-cbc at lysator.liu.se,aes128-ctr,aes192-ctr,aes256-c
tr
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160 at open
ssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160 at open
ssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib
debug2: kex_parse_kexinit: none,zlib
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: 
debug2: kex_parse_kexinit: first_kex_follows 0 
debug2: kex_parse_kexinit: reserved 0 
debug2: mac_init: found hmac-md5
debug1: kex: server->client blowfish-cbc hmac-md5 none
debug2: mac_init: found hmac-md5
debug1: kex: client->server blowfish-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 119/256
debug2: bits set: 501/1026
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug3: check_host_in_hostfile: filename /home/mydir/.ssh/known_hosts2
debug3: key_read: type mismatch
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts2
debug3: check_host_in_hostfile: filename /home/mydir/.ssh/known_hosts2
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts2
debug3: check_host_in_hostfile: filename /home/mydir/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 28
debug3: check_host_in_hostfile: filename /home/mydir/.ssh/known_hosts
debug3: check_host_in_hostfile: match line 28
debug1: Host 'somehost' is known and matches the DSA host key.
debug1: Found key in /home/mydir/.ssh/known_hosts:28
debug2: bits set: 533/1026
debug1: ssh_dss_verify: signature incorrect
key_verify failed for server_host_key
my-ss20% 

After trying to connect from some other machine to my-ss20:

my-ss20% tail -2 /var/log/auth.log
Oct 19 17:44:09 my-ss20 sshd[1258]: error: bad sig size 108 61
Oct 19 17:44:09 my-ss20 sshd[1258]: fatal: mm_answer_sign: key_sign failed
my-ss20% 

--
	Aleksi Suhonen

	() ascii ribbon campaign
	/\ support plain text e-mail




More information about the Pkg-openssl-devel mailing list