summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sesterhenn <eric.sesterhenn@x41-dsec.de>2017-10-08 20:02:32 +0200
committerDavid Howells <dhowells@redhat.com>2017-10-18 10:12:41 +0200
commit68a1fdbbf8bd3378325e45c19e167a165f9ffc3a (patch)
treedd276ef26c59a8f63da54d64856c06df8c71165c
parentKEYS: load key flags and expiry time atomically in proc_keys_show() (diff)
downloadlinux-68a1fdbbf8bd3378325e45c19e167a165f9ffc3a.tar.xz
linux-68a1fdbbf8bd3378325e45c19e167a165f9ffc3a.zip
pkcs7: Prevent NULL pointer dereference, since sinfo is not always set.
The ASN.1 parser does not necessarily set the sinfo field, this patch prevents a NULL pointer dereference on broken input. Fixes: 99db44350672 ("PKCS#7: Appropriately restrict authenticated attributes and content type") Signed-off-by: Eric Sesterhenn <eric.sesterhenn@x41-dsec.de> Signed-off-by: David Howells <dhowells@redhat.com> cc: stable@vger.kernel.org # 4.3+
-rw-r--r--crypto/asymmetric_keys/pkcs7_parser.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index af4cd8649117..d140d8bb2c96 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -88,6 +88,9 @@ static int pkcs7_check_authattrs(struct pkcs7_message *msg)
bool want = false;
sinfo = msg->signed_infos;
+ if (!sinfo)
+ goto inconsistent;
+
if (sinfo->authattrs) {
want = true;
msg->have_authattrs = true;