openssl/apps
Emilia Kasper 59a908f1e8 CVE-2016-0798: avoid memory leak in SRP
The SRP user database lookup method SRP_VBASE_get_by_user had confusing
memory management semantics; the returned pointer was sometimes newly
allocated, and sometimes owned by the callee. The calling code has no
way of distinguishing these two cases.

Specifically, SRP servers that configure a secret seed to hide valid
login information are vulnerable to a memory leak: an attacker
connecting with an invalid username can cause a memory leak of around
300 bytes per connection.

Servers that do not configure SRP, or configure SRP but do not configure
a seed are not vulnerable.

In Apache, the seed directive is known as SSLSRPUnknownUserSeed.

To mitigate the memory leak, the seed handling in SRP_VBASE_get_by_user
is now disabled even if the user has configured a seed.

Applications are advised to migrate to SRP_VBASE_get1_by_user. However,
note that OpenSSL makes no strong guarantees about the
indistinguishability of valid and invalid logins. In particular,
computations are currently not carried out in constant time.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-25 15:44:21 +01:00
..
demoCA
demoSRP Add SRP. 2011-03-16 11:26:40 +00:00
set
app_rand.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
apps.c Remove useless code 2015-10-23 20:47:53 +02:00
apps.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
asn1pars.c Don't try and parse boolean type. 2015-10-06 15:16:50 +01:00
ca-cert.srl
ca-key.pem
ca-req.pem
ca.c Fix missing malloc return value checks 2015-11-09 23:00:37 +00:00
CA.com Corrections to the VMS build system. 2011-03-25 16:21:08 +00:00
CA.pl.in
CA.sh PR: 1847 2009-10-15 17:27:47 +00:00
cert.pem
ciphers.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
client.pem Replace expired test server and client certificates with new ones. 2011-12-08 14:45:15 +00:00
cms.c Add -no_alt_chains option to apps to implement the new X509_V_FLAG_NO_ALT_CHAINS flag. Using this option means that when building certificate chains, the first chain found will be the one used. Without this flag, if the first chain found is not trusted then we will keep looking to see if we can build an alternative chain instead. 2015-05-20 23:14:25 +02:00
crl.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
crl2p7.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
dgst.c Move malloc fail checks closer to malloc 2015-03-17 13:49:31 +00:00
dh.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
dh512.pem
dh1024.pem
dh2048.pem
dh4096.pem
dhparam.c dhparam: set the default to 2048 bits 2015-05-20 15:01:36 +02:00
dsa-ca.pem
dsa-pca.pem
dsa.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
dsa512.pem
dsa1024.pem
dsap.pem
dsaparam.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
ec.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
ecparam.c Remove useless code 2015-10-23 20:47:53 +02:00
enc.c RT2943: Check sizes if -iv and -K arguments 2015-05-04 21:18:43 +02:00
engine.c Remove the "eay" c-file-style indicators 2015-12-18 13:13:31 +01:00
errstr.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
gendh.c dhparam: set the default to 2048 bits 2015-05-20 15:01:36 +02:00
gendsa.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
genpkey.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
genrsa.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
install-apps.com Apply all the changes submitted by Steven M. Schweda <sms@antinode.info> 2011-03-19 09:47:47 +00:00
makeapps.com Make sure that disabling the MAYLOSEDATA3 warning is only done when the compiler supports it. Otherwise, there are warnings about it lacking everywhere, which is quite tedious to read through while trying to check for other warnings. 2014-10-15 10:47:12 +02:00
Makefile Remove extra '; \' in apps/Makefile 2015-07-13 17:15:38 +02:00
nseq.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
ocsp.c To avoid possible time_t overflow use X509_time_adj_ex() 2016-01-14 03:04:31 +00:00
oid.cnf
openssl-vms.cnf make update 2011-12-27 14:38:27 +00:00
openssl.c Fix memory leak reporting. 2015-02-09 13:01:28 +00:00
openssl.cnf The default CN prompt message can be confusing when often the CN needs to 2011-12-06 00:00:51 +00:00
passwd.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
pca-cert.srl
pca-key.pem
pca-req.pem
pkcs7.c Dead code removal from apps 2015-03-17 14:52:46 +00:00
pkcs8.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
pkcs12.c Fix X509_STORE_CTX_cleanup() 2016-01-04 21:50:01 -05:00
pkey.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
pkeyparam.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
pkeyutl.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
prime.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
privkey.pem
progs.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
progs.pl Make no-ssl3 no-ssl2 do more sensible things. 2014-06-29 03:05:37 +01:00
rand.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
req.c Re-align some comments after running the reformat script. 2015-01-22 09:39:01 +00:00
req.pem
rsa.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
rsa8192.pem
rsautl.c Unchecked malloc fixes 2015-03-05 09:22:50 +00:00
s512-key.pem
s512-req.pem
s1024key.pem
s1024req.pem
s_apps.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
s_cb.c Fix for memcpy() and strcmp() being undefined. 2015-05-11 12:05:53 +01:00
s_client.c SRP memory leak fix 2015-09-28 14:34:47 +01:00
s_server.c CVE-2016-0798: avoid memory leak in SRP 2016-02-25 15:44:21 +01:00
s_socket.c Re-align some comments after running the reformat script. 2015-01-22 09:39:01 +00:00
s_time.c Code style: space after 'if' 2015-04-16 13:51:51 -04:00
server.pem Replace expired test server and client certificates with new ones. 2011-12-08 14:45:15 +00:00
server.srl
server2.pem Replace expired test server and client certificates with new ones. 2011-12-08 14:45:15 +00:00
sess_id.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
smime.c Add -no_alt_chains option to apps to implement the new X509_V_FLAG_NO_ALT_CHAINS flag. Using this option means that when building certificate chains, the first chain found will be the one used. Without this flag, if the first chain found is not trusted then we will keep looking to see if we can build an alternative chain instead. 2015-05-20 23:14:25 +02:00
speed.c Remove the "eay" c-file-style indicators 2015-12-18 13:13:31 +01:00
spkac.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
srp.c Code style: space after 'if' 2015-04-16 13:51:51 -04:00
testCA.pem
testdsa.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
testrsa.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
timeouts.h Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
ts.c Re-align some comments after running the reformat script. 2015-01-22 09:39:01 +00:00
tsget PR: 2031 2009-09-07 17:57:02 +00:00
verify.c Add -no_alt_chains option to apps to implement the new X509_V_FLAG_NO_ALT_CHAINS flag. Using this option means that when building certificate chains, the first chain found will be the one used. Without this flag, if the first chain found is not trusted then we will keep looking to see if we can build an alternative chain instead. 2015-05-20 23:14:25 +02:00
version.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
vms_decc_init.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
winrand.c Run util/openssl-format-source -v -c . 2015-01-22 09:38:39 +00:00
x509.c To avoid possible time_t overflow use X509_time_adj_ex() 2016-01-14 03:04:31 +00:00