OSDN Git Service

EVM: prevent array underflow in evm_write_xattrs()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 29 May 2018 13:11:28 +0000 (16:11 +0300)
committerMimi Zohar <zohar@linux.vnet.ibm.com>
Thu, 31 May 2018 14:13:24 +0000 (10:13 -0400)
If the user sets xattr->name[0] to NUL then we would read one character
before the start of the array.  This bug seems harmless as far as I can
see but perhaps it would trigger a warning in KASAN.

Fixes: fa516b66a1bf ("EVM: Allow runtime modification of the set of verified xattrs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
security/integrity/evm/evm_secfs.c

index cf5cd30..3cefef3 100644 (file)
@@ -209,7 +209,7 @@ static ssize_t evm_write_xattrs(struct file *file, const char __user *buf,
 
        /* Remove any trailing newline */
        len = strlen(xattr->name);
-       if (xattr->name[len-1] == '\n')
+       if (len && xattr->name[len-1] == '\n')
                xattr->name[len-1] = '\0';
 
        if (strcmp(xattr->name, ".") == 0) {