[gnutls-help] 3.6.7 interoperability problems with earlier 3.6.x

Nikos Mavrogiannopoulos n.mavrogiannopoulos at gmail.com
Sun Jun 9 06:35:34 CEST 2019


On Sat, 2019-06-08 at 11:29 +0200, Andreas Metzler wrote:
> Hello,
> 
> this is https://bugs.debian.org/929907 submitted and boiled down to a
> minimal (gnutls-cli) testcase by Dominik George. (The original issue
> was
> openldap breaking.)
> 
> gnutls-serv from 3.6.4 3.6.5 and 3.6.6 does not work correctly with
> gnutls-cli from 3.6.7.
> ------
> gnutls-serv --echo --x509keyfile /etc/ssl/private/ssl-cert-
> snakeoil.key --x509certfile /etc/ssl/certs/ssl-cert-snakeoil.pem
> ...
> pwgen 16383 | gnutls-cli --no-ca-verification --port 5556 localhost
> > From a size of 16383 bytes onwards, I get:
> > > <1>| Received packet with illegal length: 16385
> > > <1>| Discarded message[1] due to invalid decryption
> > *** Fatal error: A TLS record packet with invalid length was
> > received.
> > *** Server has terminated the connection abnormally.
> ------
> 
> gnutls-cli 3.6.8 works. Disabling TLS 1.3 or %NO_EXTENSIONS also
> works
> around this.
> 
> I have run git bisect to find more info. The issue was introduced in
> 3fc7d37dd81a1f415afffbf5f733c13296e74824
> ext/record_size_limit: account for content type octet in TLS 1.3
> 
> and was fixed for 3.6.8 by
> 2dc96e3b8d0e043bebf0815edaaa945f66ac0531
> ext/record_size_limit: distinguish sending and receiving limits
> 
> I am now wondering on what to do with this bug for the next Debian
> stable release ("buster").
> * We are unlikely to upgrade to 3.6.8 since buster is already frozen.

What is blocking the upgrade to 3.6.8? Is there some further change to
do in the development rules so that debian can follow the stable
branch? Having multiple gnutls versions in the major distributions with
diverse behaviors would make things not easy in terms of
interoperability for tls1.3 or any other future feature.

regards,
Nikos





More information about the Gnutls-help mailing list