linux/security/keys/encrypted-keys
Eric Biggers bfe535bf4a KEYS: encrypted: fix buffer overread in valid_master_desc()
commit 794b4bc292 upstream.

With the 'encrypted' key type it was possible for userspace to provide a
data blob ending with a master key description shorter than expected,
e.g. 'keyctl add encrypted desc "new x" @s'.  When validating such a
master key description, validate_master_desc() could read beyond the end
of the buffer.  Fix this by using strncmp() instead of memcmp().  [Also
clean up the code to deduplicate some logic.]

Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-12-16 22:09:44 +00:00
..
ecryptfs_format.c encrypted-keys: create encrypted-keys directory 2011-09-14 15:22:26 -04:00
ecryptfs_format.h encrypted-keys: create encrypted-keys directory 2011-09-14 15:22:26 -04:00
encrypted.c KEYS: encrypted: fix buffer overread in valid_master_desc() 2018-12-16 22:09:44 +00:00
encrypted.h encrypted-keys: module build fixes 2011-11-16 14:23:14 -05:00
Makefile encrypted-keys: module build fixes 2011-11-16 14:23:14 -05:00
masterkey_trusted.c encrypted-keys: fix rcu and sparse messages 2012-01-18 10:41:30 +11:00