Eric Biggers 192cabd6a2 lib/digsig: fix dereference of NULL user_key_payload
digsig_verify() requests a user key, then accesses its payload.
However, a revoked key has a NULL payload, and we failed to check for
this.  request_key() *does* skip revoked keys, but there is still a
window where the key can be revoked before we acquire its semaphore.

Fix it by checking for a NULL payload, treating it like a key which was
already revoked at the time it was requested.

Fixes: 051dbb918c7f ("crypto: digital signature verification support")
Reviewed-by: James Morris <james.l.morris@oracle.com>
Cc: <stable@vger.kernel.org>    [v3.3+]
Cc: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
2017-10-12 17:16:40 +01:00
..
2017-02-24 17:46:57 -08:00
2017-08-15 09:02:08 -07:00
2015-11-23 09:44:58 +01:00
2017-03-30 09:37:20 +02:00
2017-06-09 11:52:07 +02:00
2017-02-24 17:46:57 -08:00
2017-05-09 15:40:28 -07:00
2014-04-30 19:49:37 +01:00
2017-02-24 17:46:57 -08:00
2014-08-08 15:57:25 -07:00
2014-06-25 17:45:43 -07:00
2016-12-06 10:17:03 +02:00
2015-09-08 14:35:59 -07:00
2017-09-19 15:18:33 -07:00
2015-03-23 22:12:08 -04:00
2017-05-15 23:40:22 -04:00
2016-08-02 17:31:41 -04:00
2017-07-07 10:37:54 -07:00
2017-08-15 09:02:07 -07:00