Hi Linus,
Please pull this fix for a bug introduced with '82f94f24475c ("KEYS:
Provide software public key query function [ver #2]")'.
The following changes since commit ccda4af0f4b92f7b4c308d3acc262f4a7e3affad:
Linux 4.20-rc2 (2018-11-11 17:12:31 -0600)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
fixes-v4.20-rc3
for you to fetch changes up to fd35f192e42cf7c0df1e2480bfd5965e35b2f4ca:
integrity: support new struct public_key_signature encoding field (2018-11-13
13:09:56 -0800)
----------------------------------------------------------------
Mimi Zohar (1):
integrity: support new struct public_key_signature encoding field
security/integrity/digsig_asymmetric.c | 1 +
1 file changed, 1 insertion(+)
---
commit fd35f192e42cf7c0df1e2480bfd5965e35b2f4ca
Author: Mimi Zohar <[email protected]>
Date: Fri Nov 9 00:53:40 2018 -0500
integrity: support new struct public_key_signature encoding field
On systems with IMA-appraisal enabled with a policy requiring file
signatures, the "good" signature values are stored on the filesystem as
extended attributes (security.ima). Signature verification failure
would normally be limited to just a particular file (eg. executable),
but during boot signature verification failure could result in a system
hang.
Defining and requiring a new public_key_signature field requires all
callers of asymmetric signature verification to be updated to reflect
the change. This patch updates the integrity asymmetric_verify()
caller.
Fixes: 82f94f24475c ("KEYS: Provide software public key query function [ver
#2]")
Signed-off-by: Mimi Zohar <[email protected]>
Cc: David Howells <[email protected]>
Acked-by: Denis Kenzior <[email protected]>
Signed-off-by: James Morris <[email protected]>
diff --git a/security/integrity/digsig_asymmetric.c
b/security/integrity/digsig_asymmetric.c
index 6dc075144508..d775e03fbbcc 100644
--- a/security/integrity/digsig_asymmetric.c
+++ b/security/integrity/digsig_asymmetric.c
@@ -106,6 +106,7 @@ int asymmetric_verify(struct key *keyring, const char *sig,
pks.pkey_algo = "rsa";
pks.hash_algo = hash_algo_name[hdr->hash_algo];
+ pks.encoding = "pkcs1";
pks.digest = (u8 *)data;
pks.digest_size = datalen;
pks.s = hdr->sig;