Bug#676563: exim4: new minimumum Diffie-Hellman length breaks sending, not configurable

Andreas Metzler ametzler at downhill.at.eu.org
Thu Jun 21 17:47:47 UTC 2012


On 2012-06-21 Eric Cooper <ecc at cmu.edu> wrote:
> Package: exim4
> Followup-For: Bug #676563

> This problem still exists for me in version 4.80-3.
> I'm using smtp.srv.cs.cmu.edu as smarthost, and I get this error:

> 2012-06-20 18:40:40 1ShRfu-0001AA-8c TLS error on connection to smtp.srv.cs.cmu.edu [128.2.217.15] (gnutls_handshake): The Diffie-Hellman prime sent by the server is not acceptable (not long enough).
> 2012-06-20 18:40:40 1ShRfu-0001AA-8c TLS session failure: delivering unencrypted to smtp.srv.cs.cmu.edu [128.2.217.15] (not in hosts_require_tls)

> I downgraded to 4.77-1 and my configuration works again.

> I tried setting tls_dh_min_bits to several lower values, but it didn't
> help. (Perhaps I was doing it wrong.)

Hello,
With the default setting, I also see the error:

(SID)root at argenau:/# exim4 -bP transport remote_smtp_smarthost | grep tls_dh_min
tls_dh_min_bits = 1024
(SID)root at argenau:/# echo foo | exim -f '<>' -d+all  invalid at example.com
[...]
28546   SMTP>> STARTTLS
28546 waiting for data on socket
28546 read response data: size=30
28546   SMTP<< 220 2.0.0 Ready to start TLS
28546 initialising GnuTLS as a client on fd 7
28546 GnuTLS global init required.
28546 initialising GnuTLS client session
28546 Expanding various TLS configuration options for session credentials.
28546 TLS: no client certificate specified; okay
28546 TLS: tls_verify_certificates not set or empty, ignoring
28546 GnuTLS using default session cipher/priority "NORMAL"
28546 Setting D-H prime minimum acceptable bits to 1024
28546 TLS: server certificate verification not required
28546 LOG: MAIN
28546   TLS error on connection to smtp.srv.cs.cmu.edu [128.2.217.15] (gnutls_handshake): The Diffie-Hellman prime sent by the server is not acceptable (not long enough).


However downgrading the security works for me:

(SID)root at argenau:/# echo TLS_DH_MIN_BITS = 512 >> /etc/exim4/exim4.conf.localmacros
(SID)root at argenau:/# /etc/init.d/exim4 restart
[...]
(SID)root at argenau:/# exim4 -bP transport remote_smtp_smarthost | grep tls_dh_min
tls_dh_min_bits = 512
(SID)root at argenau:/# echo foo | exim -f '<>' -d+all  invalid at example.com
[...]
28546   SMTP>> STARTTLS
28546 waiting for data on socket
28546 read response data: size=30
28546   SMTP<< 220 2.0.0 Ready to start TLS
28546 initialising GnuTLS as a client on fd 7
28546 GnuTLS global init required.
28546 initialising GnuTLS client session
28546 Expanding various TLS configuration options for session credentials.
28546 TLS: no client certificate specified; okay
28546 TLS: tls_verify_certificates not set or empty, ignoring
28546 GnuTLS using default session cipher/priority "NORMAL"
28546 Setting D-H prime minimum acceptable bits to 512
28546 TLS: server certificate verification not required
28546 gnutls_handshake was successful
28546 cipher: TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128

How did you try to downgrade the tls_dh_min_bits setting and to which
value?


> Also, is there a debugging
> option that would allow me to determine the prime size that the CMU
> server is using?

You can use gnutls-cli as debugging tool:

ametzler at argenau:~$ gnutls-cli -s smtp.srv.cs.cmu.edu -p 25
[...]
220 smtp03.srv.cs.cmu.edu ESMTP Sendmail 8.13.6/8.13.6; Thu, 21 Jun 2012 13:09:17 -0400 (EDT)
ehlo foo
250-smtp03.srv.cs.cmu.edu Hello 91-115-38-95.adsl.highway.telekom.at [91.115.38.95], pleased to meet you
250-ENHANCEDSTATUSCODES
[...]
STARTTLS
220 2.0.0 Ready to start TLS
[Press <Ctrl>-D now]
*** Starting TLS handshake
[...]
- Ephemeral Diffie-Hellman parameters
 - Using prime: 512 bits
 - Secret key: 511 bits
 - Peer's public key: 512 bits
- Version: TLS1.0
- Key Exchange: DHE-RSA
- Cipher: AES-128-CBC
- MAC: SHA1
- Compression: NULL
[...]

cu andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'





More information about the Pkg-exim4-maintainers mailing list