From: Matthias Schwarzott <zzam@gentoo.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [security] Race condition in udev
Date: Thu, 27 Aug 2009 06:54:34 +0000 [thread overview]
Message-ID: <200908270854.35709.zzam@gentoo.org> (raw)
In-Reply-To: <20090821102407.GA29609@florz.florz.dyndns.org>
On Mittwoch, 26. August 2009, Florian Zumbiehl wrote:
>
> Anyhow, the current code does potentially allow more access than one
> would expect when interpreting udev's configuration using the
> well-known semantics of unix permissions, which is kindof worse
> than "just not working".
The only case I can imagine where the race you try to describe gives more
permission than meant by the rule writer is this scenario:
1. ruleset contains:
KERNEL="mydev", MODE="640", GROUP="readers"
2. after boot:
# ls -l /dev/mydev
brw-r----- 1 root writers ?, ? 25. Aug 16:09 /dev/mydev
3. Change the ruleset to contain (udev will reload it notified by inotify):
KERNEL="mydev", MODE="660", GROUP="writers"
4. run udevadm trigger
5. udev will process the new rule and
6. first chmod /dev/mydev
# ls -l /dev/mydev
brw-rw---- 1 root readers ?, ? 25. Aug 16:09 /dev/mydev
7. and then chown /dev/mydev so it gets its final permissions
# ls -l /dev/mydev
brw-rw---- 1 root writers ?, ? 25. Aug 16:09 /dev/mydev
So there is this small time window between 6 and 7 where group readers has
more permissions it should. BUT: This can only happen if admin changes the
rules, or does manually adjust permissions of some devices and then triggers
udev.
If you show that this can really happen one could do something like this:
1. first chmod to safe umask (either logical and of old and new umask, or
0000)
2. then chown
3. then chmod to new umask
Regards
Matthias
next prev parent reply other threads:[~2009-08-27 6:54 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-21 10:24 [security] Race condition in udev Florian Zumbiehl
2009-08-21 11:14 ` Kay Sievers
2009-08-21 11:25 ` Florian Zumbiehl
2009-08-21 11:59 ` Kay Sievers
2009-08-22 0:19 ` Florian Zumbiehl
2009-08-22 2:25 ` Bryan Kadzban
2009-08-22 3:11 ` Florian Zumbiehl
2009-08-25 11:32 ` Florian Zumbiehl
2009-08-25 11:58 ` Scott James Remnant
2009-08-25 12:03 ` Kay Sievers
2009-08-25 12:21 ` Florian Zumbiehl
2009-08-25 12:43 ` Scott James Remnant
2009-08-25 12:55 ` Florian Zumbiehl
2009-08-25 13:11 ` Florian Zumbiehl
2009-08-25 13:31 ` Scott James Remnant
2009-08-25 14:22 ` Florian Zumbiehl
2009-08-25 16:08 ` Scott James Remnant
2009-08-25 16:27 ` Florian Zumbiehl
2009-08-25 16:49 ` Scott James Remnant
2009-08-25 17:31 ` Florian Zumbiehl
2009-08-25 17:42 ` Greg KH
2009-08-25 18:04 ` Robby Workman
2009-08-25 18:05 ` Scott James Remnant
2009-08-25 18:11 ` Florian Zumbiehl
2009-08-25 18:17 ` Kay Sievers
2009-08-25 18:20 ` Greg KH
2009-08-25 18:21 ` Greg KH
2009-08-25 18:38 ` Florian Zumbiehl
2009-08-25 18:53 ` Florian Zumbiehl
2009-08-25 19:10 ` Greg KH
2009-08-25 19:28 ` Mr POSIX
2009-08-25 21:55 ` Florian Zumbiehl
2009-08-26 11:22 ` Scott James Remnant
2009-08-26 17:41 ` Florian Zumbiehl
2009-08-26 21:00 ` Greg KH
2009-08-27 6:54 ` Matthias Schwarzott [this message]
2009-08-27 15:09 ` Florian Zumbiehl
2009-08-27 15:13 ` Florian Zumbiehl
2009-08-27 15:22 ` Greg KH
2009-08-27 15:52 ` Florian Zumbiehl
2009-08-27 16:03 ` Florian Zumbiehl
2009-08-28 17:34 ` Florian Zumbiehl
2009-08-29 14:15 ` Kay Sievers
2009-08-29 14:20 ` Florian Zumbiehl
2009-08-29 14:32 ` Kay Sievers
2009-08-29 14:41 ` Florian Zumbiehl
2009-08-29 14:47 ` Kay Sievers
2009-08-29 14:58 ` Florian Zumbiehl
2009-09-04 19:12 ` Florian Zumbiehl
2009-09-04 19:16 ` Florian Zumbiehl
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=200908270854.35709.zzam@gentoo.org \
--to=zzam@gentoo.org \
--cc=linux-hotplug@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).