GnuTLS 2.6.6 - Security Release

Simon Josefsson simon at
Thu Apr 30 12:36:07 CEST 2009

We are proud to announce a new stable GnuTLS release: Version 2.6.6.

GnuTLS is a modern C library that implement the standard network
security protocol Transport Layer Security (TLS), for use by network
applications.  GnuTLS is developed for GNU/Linux, but works on many
Unix-like systems and comes with a binary installer for Windows.

The GnuTLS library is distributed under the terms of the GNU Lesser
General Public License version 2.1 (or later).  The "extra" GnuTLS
library (which contains TLS/IA support, LZO compression and Libgcrypt
FIPS-mode handler), the OpenSSL compatibility library, the self tests
and the command line tools are all distributed under the GNU General
Public License version 3.0 (or later).  The manual is distributed under
the GNU Free Documentation License version 1.2 (or later).

The project page of the library is available at:

What's New

Version 2.6.6 is a maintenance and security release on our stable

** libgnutls: Corrected double free on signature verification failure.
Reported by Miroslav Kratochvil <exa.exa at>.  See the advisory
for more details.  [GNUTLS-SA-2009-1] [CVE-2009-1415]

** libgnutls: Fix DSA key generation.
Noticed when investigating the previous GNUTLS-SA-2009-1 problem.  All
DSA keys generated using GnuTLS 2.6.x are corrupt.  See the advisory
for more details.  [GNUTLS-SA-2009-2] [CVE-2009-1416]

** libgnutls: Check expiration/activation time on untrusted certificates.
Reported by Romain Francoise <romain at>.  Before the
library did not check activation/expiration times on certificates, and
was documented as not doing so.  We have realized that many
applications that use libgnutls, including gnutls-cli, fail to perform
proper checks.  Implementing similar logic in all applications leads
to code duplication.  Hence, we decided to check whether the current
time (as reported by the time function) is within the
activation/expiration period of certificates when verifying untrusted

This changes the semantics of gnutls_x509_crt_list_verify, which in
turn is used by gnutls_certificate_verify_peers and
gnutls_certificate_verify_peers2.  We add two new
gnutls_certificate_status_t codes for reporting the new error
add a new gnutls_certificate_verify_flags flag,
GNUTLS_VERIFY_DISABLE_TIME_CHECKS, that can be used to disable the new

More details about the vulnerabilities will be posted at

** gnutls-cli, gnutls-cli-debug: Fix AIX build problem.
Reported by LAUPRETRE François (P) <francois.laupretre at> in

** tests: Fix linking of tests/openpgp/keyring self-test.
Reported by Daniel Black in <>.

** API and ABI modifications:
gnutls_x509_crt_list_verify: CHANGED, checks activation/expiration times.
gnutls_certificate_verify_peers: Likewise.
gnutls_certificate_verify_peers2: Likewise.

Getting the Software

GnuTLS may be downloaded from one of the mirror sites or direct from
<>.  The list of mirrors can be found at

Here are the BZIP2 compressed sources (4.9MB):

Here are OpenPGP detached signatures signed using key 0xB565716F:

Note, that we don't distribute gzip compressed tarballs.

In order to check that the version of GnuTLS which you are going to
install is an original and unmodified one, you should verify the OpenPGP
signature.  You can use the command

     gpg --verify gnutls-2.6.6.tar.bz2.sig

This checks whether the signature file matches the source file.  You
should see a message indicating that the signature is good and made by
that signing key.  Make sure that you have the right key, either by
checking the fingerprint of that key with other sources or by checking
that the key has been signed by a trustworthy other key.  The signing
key can be identified with the following information:

pub   1280R/B565716F 2002-05-05 [expires: 2010-04-21]
      Key fingerprint = 0424 D4EE 81A0 E3D1 19C6  F835 EDA2 1E94 B565 716F
uid                  Simon Josefsson <simon at>
uid                  Simon Josefsson <jas at>
sub   1280R/4D5D40AE 2002-05-05 [expires: 2010-04-21]

The key is available from:

Alternatively, after successfully verifying the OpenPGP signature of
this announcement, you could verify that the files match the following
checksum values.  The values are for SHA-1 and SHA-224 respectively:

d1693e611aa7270f14bc500bd56ef529ffcb1703  gnutls-2.6.6.tar.bz2

5e5bc180293b0854b7e8c27a5eb55f172579b346fba61b2d4b0b0c61  gnutls-2.6.6.tar.bz2


The manual is available online at:

In particular the following formats are available:


For developers there is a GnuTLS API reference manual formatted using
the GTK-DOC tools:


If you need help to use GnuTLS, or want to help others, you are invited
to join our help-gnutls mailing list, see:

If you wish to participate in the development of GnuTLS, you are invited
to join our gnutls-dev mailing list, see:

Windows installer

GnuTLS has been ported to the Windows operating system, and a binary
installer is available.  The installer contains DLLs for application
development, manuals, examples, and source code.  The installer uses
libgpg-error v1.7, libgcrypt v1.4.4, libtasn1 v2.1, and GnuTLS v2.6.6.

For more information about GnuTLS for Windows:

The Windows binary installer and PGP signature: (14MB)

The checksum values for SHA-1 and SHA-224 are:

8a86a846cbdc16b6c21442c706854a5c02416336  gnutls-2.6.6.exe

555afa0c1524d8ad05a12384e1bd1b09da720b03058f0089dc812cfc  gnutls-2.6.6.exe

Thanks to Enrico Tassi, we also have mingw32 *.deb's available:

The checksum values for SHA-1 and SHA-224 are:

b141f97c196d408bf12b8a58ede6bda8fb291be6  mingw32-gnutls_2.6.6-1_all.deb

541e2fca8248460b419e2224a138b292020de1724c86c77b9478da93  mingw32-gnutls_2.6.6-1_all.deb


GnuTLS messages have been translated into Dutch, French, German,
Malay, Polish, Swedish, and Vietnamese.  We welcome the addition of
more translations.


Improving GnuTLS is costly, but you can help!  We are looking for
organizations that find GnuTLS useful and wish to contribute back.
You can contribute by reporting bugs, improve the software, or donate
money or equipment.

Commercial support contracts for GnuTLS are available, and they help
finance continued maintenance.  Simon Josefsson Datakonsult AB, a
Stockholm based privately held company, is currently funding GnuTLS
maintenance.  We are always looking for interesting development
projects.  See for more details.

The GnuTLS service directory is available at:

Happy Hacking,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 419 bytes
Desc: not available
URL: </pipermail/attachments/20090430/bc3c1cba/attachment.pgp>

More information about the Gnutls-devel mailing list