[Pkg-openssl-devel] Bug#825416: libssl1.0.0: EVP_{Encrypt, Decrypt, Cipher}Final() do not clean up cipher context

g1 g1pi at libero.it
Thu May 26 18:55:51 UTC 2016


Package: libssl1.0.0
Version: 1.0.1k-3+deb8u5
Severity: important
Tags: upstream

The EVP_EncryptFinal(3ssl) man page reads:

    EVP_EncryptFinal(), EVP_DecryptFinal() and EVP_CipherFinal() behave
    in a similar way to EVP_EncryptFinal_ex(), EVP_DecryptFinal_ex()
    and EVP_CipherFinal_ex() except ctx is automatically cleaned up after
    the call.

However, the code in crypto/evp/evp_enc.c has

    int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
    {
	int ret;
	ret = EVP_EncryptFinal_ex(ctx, out, outl);
	return ret;
    }

that is, EVP_EncryptFinal() is exactly equivalent to EVP_EncryptFinal_ex().

In addition to causing memory leaks, promptly flagged by valgrind,
this might have security implications, because context cleanup does
not happen, and keys remain in memory, waiting for the next heartbleed.
I'd love to be mistaken.

Best regards,
	g.

-- System Information:
Debian Release: 8.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.16.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages libssl1.0.0 depends on:
ii  debconf [debconf-2.0]  1.5.56
ii  libc6                  2.19-18+deb8u4
ii  multiarch-support      2.19-18+deb8u4

libssl1.0.0 recommends no packages.

libssl1.0.0 suggests no packages.

-- debconf information:
  libssl1.0.0/restart-failed:
* libssl1.0.0/restart-services: ssh exim4 bind9 apache2



More information about the Pkg-openssl-devel mailing list