mainGnuTLS - Support: sr #107372, Gnutls fails to downgrade to TLS...

 
 

sr #107372: Gnutls fails to downgrade to TLS 1.0 when TLS 1.1 fails

Submitter:  Troels Liebe Bentsen <tlbdk1>
Submitted:  Tue 11 May 2010 05:51:57 PM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  1 - Wish Status:  Wont Do
Privacy:  Public Assigned to:  nmav
Open/Closed:  Closed Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 13 May 2010 10:39:01 PM UTC, comment #7: 

I made this patch for libneon doing exactly that:
https://bugs.launchpad.net/ubuntu/+source/neon27/+bug/580116

Think i understand you reasoning for keeping the TLS 1.1, so you can close the ticket.

Thanks for the help and quick response.

Troels Liebe Bentsen <tlbdk1>
Thu 13 May 2010 07:54:19 PM UTC, comment #6: 

Disabling TLS 1.1 is a solution if you don't care about the security issues it solves. However any application using gnutls could also do that and enable TLS 1.0 and SSL 3.0 only if it wants maximum compatibility.

Nikos Mavrogiannopoulos <nmav>
Group administrator
Thu 13 May 2010 05:46:25 PM UTC, comment #5: 

After doing a little research it seems most other SSL/TLS client implementations have TLS 1.1 disabled by default. Especially web browsers, here TLS 1.0 is the default one used.

IE supports TLS 1.1 and 1.2 but it's disabled by default:
http://netsekure.org/2009/10/tls-1-2-in-windiows-7/

Chrome defaults to TLS 1.0 and so does Firefox by my own tests.

Opera is the only browser that tries TLS 1.1, but it only does so after trying TLS 1.0 and when TLS 1.1 fails it reconnects with TLS 1.0.

One might argue that TLS 1.1 like TLS 1.2 should be disabled by default if support still is so bad that non of the major browser vendors actually uses it by default.

On another note i have reported the TLS fallback bug to the server operator so hopefully they will fix it there also.

Troels Liebe Bentsen <tlbdk1>
Tue 11 May 2010 08:20:29 PM UTC, comment #4: 

And indeed by tracing the session the server doesn't even try to fallback. It just rejects the session with a protocol error, which is clearly not following the TLS protocol and is not going to work with any server that offers anything else except SSL 3.0 and TLS 1.0.

Nikos Mavrogiannopoulos <nmav>
Group administrator
Tue 11 May 2010 08:16:33 PM UTC, comment #3: 

The fallback is automatically done by the TLS protocol. The server should have negotiated TLS 1.0 instead of failing, but it seems this isn't the case. The only thing you can do to fix it is to force TLS 1.0 when talking with the server. If you are working on a higher protocol such as libneon is you could try connecting and if that fails retry without TLS 1.1 and 1.2. gnutls cannot do anything there :(

Nikos Mavrogiannopoulos <nmav>
Group administrator
Tue 11 May 2010 07:46:31 PM UTC, comment #2: 

Thanks, I'm going to report it to the server operator. But the "server" in this case is a cisco netscaler that seems to be quite common for large organisations. So even if it's broken having some kind of fall back to TLS1.0 would be nice for compatibility sake.

My problem is that this is causing libneon's(used by subversion) compiled with gnutls to not work in this setup.

I don't know if the fallback should be done in libneon or gnutls, you might be a better judge for that?

Another options would be some kind of global config file where you could set pr. site defaults, might also belong in libneon or subversion?

Troels Liebe Bentsen <tlbdk1>
Tue 11 May 2010 07:19:04 PM UTC, comment #1: 

This is not a gnutls issue but of the server's. It is broken and cannot negotiate anything else than TLS 1.0. There is nothing gnutls can do except only trying tls 1.0.

The output of gnutls-cli-debug on this server is:
Checking for Safe renegotiation support... no
Checking for Safe renegotiation support (SCSV)... no
Checking for TLS 1.2 support... no
Checking for TLS 1.1 support... no
Checking fallback from TLS 1.1 to... failed
Checking for TLS 1.0 support... yes
Checking for SSL 3.0 support... no

Report it as bug to the server operator.

regards,
Nikos

Nikos Mavrogiannopoulos <nmav>
Group administrator
Tue 11 May 2010 05:51:57 PM UTC, original submission:  

gnutls-cli --priority "NORMAL:%COMPAT" dit-subversion.cbs.dk
Resolving 'dit-subversion.cbs.dk'...
Connecting to '130.226.47.44:443'...
* Fatal error: A TLS packet with unexpected length was received.
* Handshake has failed
GNUTLS ERROR: A TLS packet with unexpected length was received.

gnutls-cli --priority "NORMAL:%COMPAT:-VERS-TLS1.1" dit-subversion.cbs.dk
Resolving 'dit-subversion.cbs.dk'...
Connecting to '130.226.47.44:443'...
 - Certificate type: X.509
 - Got a certificate list of 1 certificates.
 - Certificate[0] info:
  - subject `C=DK,OU=Domain Control Validated,O=*.cbs.dk,CN=*.cbs.dk', issuer `C=BE,OU=Domain Validation CA,O=GlobalSign nv-sa,CN=GlobalSign Domain Validation CA', RSA key 2048 bits, signed using RSA-SHA, activated `2010-03-30 08:11:09 UTC', expires `2013-08-12 10:19:22 UTC', SHA-1 fingerprint `4bf69d491316a8bf1a16048191a2e680372baa96'
- The hostname in the certificate matches 'dit-subversion.cbs.dk'.
- Peer's certificate issuer is unknown
- Peer's certificate is NOT trusted
- Version: TLS1.0
- Key Exchange: RSA
- Cipher: ARCFOUR-128
- MAC: MD5
- Compression: NULL
- Handshake was completed

- Simple Client Mode:

Troels Liebe Bentsen <tlbdk1>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nmav (Posted a comment)
  • -email is unavailable- added by tlbdk1 (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-05-14 nmav Open/ClosedOpen Closed
    2010-05-11 nmav Assigned toNone nmav
        StatusNone Wont Do
        Severity4 - Important 1 - Wish

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code