On Sun, May 30, 2021 at 08:01:21PM +0100, Peter Maydell wrote:
> On Wed, 26 May 2021 at 10:14, Stefan Hajnoczi <stefa...@redhat.com> wrote:
> >
> > The Linux man page for mkstemp(3) states:
> >
> >   In glibc versions 2.06 and earlier, the file is created with
> >   permissions 0666, that is, read and write for all users.  This old
> >   behavior may be a security risk, especially  since other UNIX flavors
> >   use 0600, and somebody might overlook this detail when porting
> >   programs. POSIX.1-2008 adds a requirement that the file be created
> >   with mode 0600.
> >
> >   More generally, the POSIX specification of mkstemp() does not say
> >   anything about file modes, so the application should make sure its
> >   file mode creation mask (see umask(2)) is set appropriately before
> >   calling mkstemp() (and mkostemp()).
> >
> > glibc 2.0.6 was released in 1997 and POSIX caught up in 2008. macOS and
> > FreeBSD also use POSIX-compliant 0600 permissions.
> >
> > At this point the Coverity warning seems archaic and no longer useful,
> > but go ahead and silence it.
> 
> We had a lot of these on other uses of mkstemp() in tests/ -- I
> have been simply marking them as false-positive on the same grounds
> that you cite above. I would suggest we do the same here rather
> than having this one test do something different with mkstemp().
> 
> (If we really wanted to handle ancient glibc, we should do that
> by having a qemu_mkstemp() or something. But it doesn't seem
> worthwhile...)

Sounds good. I have updated Coverity.

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to