]> git.baikalelectronics.ru Git - kernel.git/commit
ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
authorRoberto Sassu <roberto.sassu@huawei.com>
Tue, 7 Nov 2017 10:37:07 +0000 (11:37 +0100)
committerJames Morris <james.l.morris@oracle.com>
Sun, 19 Nov 2017 21:23:10 +0000 (08:23 +1100)
commitfb84be23a9b219970af41585f931013996a843e1
treecfe2a7b52894badb8c2a792c241e5a0e6092f56b
parent1ba9efda5dc83c69864cb3d9c3aa35e7b737b986
ima: do not update security.ima if appraisal status is not INTEGRITY_PASS

Commit b73082778d60 ("Untangling ima mess, part 2: deal with counters")
moved the call of ima_file_check() from may_open() to do_filp_open() at a
point where the file descriptor is already opened.

This breaks the assumption made by IMA that file descriptors being closed
belong to files whose access was granted by ima_file_check(). The
consequence is that security.ima and security.evm are updated with good
values, regardless of the current appraisal status.

For example, if a file does not have security.ima, IMA will create it after
opening the file for writing, even if access is denied. Access to the file
will be allowed afterwards.

Avoid this issue by checking the appraisal status before updating
security.ima.

Cc: stable@vger.kernel.org
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
security/integrity/ima/ima_appraise.c