[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] diffie-hellman-group-exchange-sha256


It was a long nice evening, but I found a problem =)))
It's only with dropbear & curve25519-sha256@xxxxxxxxxx kex algo.

See logs from original libssh from master with dropbear
(samplesshd-cb_server_from_dropbear_client_original.log):
[2015/01/28 21:15:37.870161, 3] ssh_packet_process:  Dispatching handler
for packet type 30
[2015/01/28 21:15:37.870200, 3] ssh_packet_kexdh_init:  Received
SSH_MSG_KEXDH_INIT
[2015/01/28 21:15:37.913360, 2] ssh_server_curve25519_init:
 SSH_MSG_KEX_ECDH_REPLY sent
[2015/01/28 21:15:37.913389, 2] ssh_server_curve25519_init:
 SSH_MSG_NEWKEYS sent
[2015/01/28 21:15:37.916199, 3] ssh_packet_process:  Dispatching handler
for packet type 30
[2015/01/28 21:15:37.916205, 3] ssh_packet_kexdh_init:  Received
SSH_MSG_KEXDH_INIT
[2015/01/28 21:15:37.916211, 1] ssh_packet_kexdh_init:  Invalid state for
SSH_MSG_KEXDH_INIT (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
[2015/01/28 21:15:37.916228, 3] ssh_packet_process:  Dispatching handler
for packet type 21
[2015/01/28 21:15:37.916234, 2] ssh_packet_newkeys:  Received
SSH_MSG_NEWKEYS

So, libssh received SSH_MSG_KEXDH_INIT packet twice!
It seems a bug in dropbear!

Let's see logs from original libssh from master with
openssh (samplesshd-cb_server_from_openssh_client_original.log):
[2015/01/28 21:14:34.509147, 3] ssh_packet_process:  Dispatching handler
for packet type 30
[2015/01/28 21:14:34.509154, 3] ssh_packet_kexdh_init:  Received
SSH_MSG_KEXDH_INIT
[2015/01/28 21:14:34.544184, 2] ssh_server_curve25519_init:
 SSH_MSG_KEX_ECDH_REPLY sent
[2015/01/28 21:14:34.544235, 2] ssh_server_curve25519_init:
 SSH_MSG_NEWKEYS sent
[2015/01/28 21:14:34.559318, 3] ssh_packet_process:  Dispatching handler
for packet type 21
[2015/01/28 21:14:34.559346, 2] ssh_packet_newkeys:  Received
SSH_MSG_NEWKEYS

I fixed this in my code. I just don't set session->session_state =
SSH_SESSION_STATE_ERROR; as in original code.
Logs and new patch (on fresh master) are attached!

P.S. pkd_hello works fine. All tests have been passed successfully.

Attachment: patch_and_logs.tar.bz2
Description: BZip2 compressed data


Follow-Ups:
Re: [PATCH] diffie-hellman-group-exchange-sha256Aris Adamantiadis <aris@xxxxxxxxxxxx>
References:
Re: [PATCH] diffie-hellman-group-exchange-sha256Andreas Schneider <asn@xxxxxxxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Andreas Schneider <asn@xxxxxxxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Jon Simons <jon@xxxxxxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Aris Adamantiadis <aris@xxxxxxxxxxxx>
Re: [PATCH] diffie-hellman-group-exchange-sha256Yanis Kurganov <yanis.kurganov@xxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org