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