Emilia Kasper 259b664f95 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-24 18:39:13 +01:00
..
2015-12-03 14:32:05 +00:00
2015-09-15 11:58:27 -04:00
2016-02-23 13:21:07 -05:00
2015-09-22 20:04:01 +02:00
2015-12-19 14:43:43 +00:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2016-01-29 11:58:45 +00:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-10-23 20:32:59 +02:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2015-12-20 19:27:03 +00:00
2016-01-02 11:14:05 -05:00
2015-09-15 11:58:27 -04:00
2015-09-15 11:58:27 -04:00
2011-08-12 12:31:08 +00:00
2014-06-10 23:20:55 +02:00
2016-01-30 14:41:23 -05:00
2015-04-22 17:20:38 +01:00
2015-11-24 23:44:05 +01:00
2016-01-28 13:58:24 +00:00
2015-08-05 22:06:22 -04:00
2015-07-14 01:17:45 +02:00
2015-01-22 09:31:38 +00:00