GnuTLS 2.2.4 - Security release [GNUTLS-SA-2008-1]

Simon Josefsson simon at
Mon May 19 14:00:43 CEST 2008

We are pleased to announce a new stable GnuTLS release: Version 2.2.4.

This release fixes three serious bugs that can crash the GnuTLS library.
We invite more detailed analysis of the problem, following our general
security advisory approach explained on:

Particularly, it would be useful to answer the question of whether these
bugs can be exploited remotely to execute arbitrary code.  It is
certainly possible to cause the server to crash.  We don't have
resources to investigate this problem more ourselves currently.

Please send your analysis to gnutls-dev at and I'll update the
security advisory web page pointing to it.  Be sure to check the web
page first to get updates on what has been done so far.

Below is attached our own security advisory and patch.  The file has
been verified to apply to the latest stable release of the recent stable
branches: version 1.4.5, 1.6.3, 2.0.4, and 2.2.3.  The patch will also
work with version 1.2.11 but you will need to apply it manually.  The
patch also apply to the latest development version 2.3.9 but keep in
mind that this version is not intended for production systems.

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 core GnuTLS library is distribute under the terms of the GNU Lesser
General Public License version 2.1 (or later).  The "extra" GnuTLS
libraries -- which contains OpenPGP and TLS/IA support, LZO compression,
the OpenSSL compatibility library -- and the self tests and command line
tools are 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.2.4 (released 2008-05-19)

** Fix three security vulnerabilities.  [GNUTLS-SA-2008-1]
Thanks to CERT-FI for finding the bugs and providing detailed reports,
which allowed the bugs to be reproduced and fixed easily.  Patches
developed by Simon Josefsson and Nikos Mavrogiannopoulos.  Any updates
with more details about these vulnerabilities will be added to

*** [GNUTLS-SA-2008-1-1]
*** libgnutls: Fix crash when sending invalid server name.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server.  The bug
cause gnutls to store more session resumption data than what was
allocated for, thus overwriting unallocated memory.

*** [GNUTLS-SA-2008-1-2]
*** libgnutls: Fix crash when sending repeated client hellos.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server.  The bug
triggers a null-pointer dereference.

*** [GNUTLS-SA-2008-1-3]
*** libgnutls: Fix crash in cipher padding decoding for invalid record lengths.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server.  The bug
cause gnutls to read memory beyond the end of the received record.

** API and ABI modifications:
No changes since last version.

Getting the Software

GnuTLS may be downloaded from one of the mirror sites or direct from
<>.  The list of mirrors can be found at
<>.  Note, that GnuTLS
is not available at

Here are the BZIP2 compressed sources (4.8MB):

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.2.4.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: 2008-06-30]
      Key fingerprint = 0424 D4EE 81A0 E3D1 19C6  F835 EDA2 1E94 B565 716F
uid                  Simon Josefsson <simon at>
uid                  Simon Josefsson <jas at>

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:

3b5d8138e3ce78b3a25f8d0491da438bb8ef6a4e  gnutls-2.2.4.tar.bz2

85b29eab286bb55d48d1454bfcf5bebba63581159c9dd0850a32a4c3  gnutls-2.2.4.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-devel 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 consists
of libgpg-error 1.6, libgcrypt 1.4.1, libtasn1 1.4, and GnuTLS 2.2.4.

For more information about GnuTLS for Windows:

The Windows binary installer and OpenPGP signature: (13MB)

A ZIP file with the installed tree of binaries: (4.6MB)

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

331a70b9cb64954d3187c880c1bb6994b4511775  gnutls-2.2.4.exe
9d1a58db1683673f92d1ed1611b4dfd416b0d447a1d393993cf4b494 gnutls-2.2.4.exe



GnuTLS messages have been translated into Dutch, German, Malay, Polish
and Swedish.  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, 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/20080519/ca52caaf/attachment.pgp>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gnutls-sa-2008-01.txt.asc
URL: </pipermail/attachments/20080519/ca52caaf/attachment.asc>

More information about the Gnutls-devel mailing list