From: Ignaz Forster <ignaz.forster@gmx.de>
To: Mimi Zohar <zohar@linux.ibm.com>,
zohar@linux.vnet.ibm.com, linux-integrity@vger.kernel.org
Cc: Goldwyn Rodrigues <rgoldwyn@suse.com>, Fabian Vogt <fvogt@suse.de>
Subject: Re: Bug: Persisting O_TMPFILE with IMA
Date: Sat, 15 Dec 2018 12:07:21 +0100 [thread overview]
Message-ID: <8dd90198-00ef-a43f-194b-9c4dcfc2227a@gmx.de> (raw)
In-Reply-To: <1544814096.3681.12.camel@linux.ibm.com>
[-- Attachment #1.1: Type: text/plain, Size: 2175 bytes --]
Mimi Zohar schrieb am 14.12.2018 um 20:01 Uhr:
> On Fri, 2018-12-14 at 19:11 +0100, Ignaz Forster wrote:
>> Hello,
>>
>> persisting files opened with O_TMPFILE doesn't seem to work on IMA as
>> expected: The IMA xattr won't be written. This makes it impossible to
>> access the file later.
>> The following example application, based on the O_TMPFILE example from
>> man 2 open
>> will demonstrate this:
>>
>>
>> #include <fcntl.h>
>> #include <unistd.h>
>> #include <linux/limits.h>
>> #include <stdio.h>
>>
>> int main(int argc, char *argv[]) {
>> char path[PATH_MAX];
>> int fd = open("/tmp", __O_TMPFILE | O_RDWR, S_IRUSR | S_IWUSR);
>> write(fd, "test", 4);
>> snprintf(path, PATH_MAX, "/proc/self/fd/%d", fd);
>> linkat(AT_FDCWD, path, AT_FDCWD, "/tmp/tmpfile_persisted.txt",
>> AT_SYMLINK_FOLLOW);
>> }
>>
>>
>> (/tmp should not be a tmpfs of course; change to paths to a supported
>> file system if necessary.)
>>
>> This was discovered when trying to understand why IMA is failing on
>> overlayfs during truncated copy_up operations (see thread "PROBLEM: IMA
>> xattrs not written on overlayfs" from September / October), though this
>> is probably a different problem.
>
> rootfs is a tmpfs filesystem. Once CPIO supports xattrs, they can be
> included in the initramfs.
>
> Remember the builtin policies - ima_policy=tcb|appraise_tcb - are
> there from boot. They are meant to be replaced with finer grained
> policies based on LSM labels, once the LSMs are up and running.
>
> Feel free to replace the builtin IMA policy with one to your liking.
I'm not talking about the initrd or the early boot process here - the
application will fail when compiling and executing it in a fully started
system. It will just open a temporary file without a name, write something
into it and save it to "/tmp/tmpfile_persisted.txt", following the example
for using O_TMPFILE in the open(2) manpage. No IMA hash will be generated
for the file, making the file inaccessible and thus breaking applications
relying on this feature of O_TMPFILE (though I assume that's not widely
used yet).
Ignaz
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-12-15 11:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-14 18:11 Bug: Persisting O_TMPFILE with IMA Ignaz Forster
2018-12-14 19:01 ` Mimi Zohar
2018-12-15 11:07 ` Ignaz Forster [this message]
2018-12-16 14:36 ` Mimi Zohar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8dd90198-00ef-a43f-194b-9c4dcfc2227a@gmx.de \
--to=ignaz.forster@gmx.de \
--cc=fvogt@suse.de \
--cc=linux-integrity@vger.kernel.org \
--cc=rgoldwyn@suse.com \
--cc=zohar@linux.ibm.com \
--cc=zohar@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.