From: BlaisorBlade <blaisorblade_spam@yahoo.it>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Henrik Nordstrom <uml@hno.marasystems.com>,
Michael Richardson <mcr@sandelman.ottawa.on.ca>
Subject: Re: [uml-devel] T-mode processes
Date: Tue, 5 Oct 2004 20:51:47 +0200 [thread overview]
Message-ID: <200410052051.47614.blaisorblade_spam@yahoo.it> (raw)
In-Reply-To: <Pine.LNX.4.61.0410042223180.483@filer.marasystems.com>
On Monday 04 October 2004 22:25, Henrik Nordstrom wrote:
> On Mon, 4 Oct 2004, BlaisorBlade wrote:
> > Actually, what I should do is to set the "mm->dumpable" flag to 1 inside
> > mm/proc_mm.c (after mm_alloc(), it is 0). The situation is clear.
> > However, to write a good patch, I want to study well the "mm->dumpable"
> > flag use (when it's set, when not...) otherwise I could open a security
> > hole (even because there are people using UML setuid to root, for the
> > mlock() patch).
>
> I don't think it is safe to set dumpable to 1 once it has become 0.
I think you are overlooking something ... read the original mail. The problem
is that for the userspace thread mm->dumpable is always 0, and this happens
on every known SKAS3 patch revision. Simply nobody thought about this before
now.
The field does not "become" 0. allocate_mm, or whatever, allocates the
mm_struct, fills it with 0, and then initializes some basic fields. After
fork and execve, the dumpable field is adjusted according to the needs (and
can become 1).
Since opening /proc/mm is more or less like creating a new process (or even
like forking), dumpable can become 1, following the general Linux rules.
Actually, the current fork() code simply copies the dumpable flag with all the
rest, and does not change it; this also makes a lot of sense, and I guess
that open_proc_mm will just copy the current->mm->dumpable setting to the new
mm.
However, that's a problem if a process using /proc/mm changes its setting of
mm->dumpable (which happens on uid changes and with prctl). Does in that case
the uid of the ptraced process change?
If needed, it could be reloaded on the new mm when using PROC_SWITCH_MM, but
that is strange. Also, I don't understand why prctl() does not do any
security check.
And anyway, I'm not rushing on this... I want to study the mainstream code and
the ptrace exploit patch, before coding anything here.
> If you want to fix this you need to find secure ways to prevent it from
> becoming 0, or to add another parameter defining "security restricted"
> processes differently from dumpable.
Hmm, Alan Cox has been writing some changes to the dumpable flag (a sysctl
option, I think).
Bye
--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2004-10-05 18:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-03 0:26 [uml-devel] T-mode processes Michael Richardson
2004-10-03 10:41 ` Henrik Nordstrom
2004-10-03 17:26 ` Michael Richardson
2004-10-03 17:55 ` Henrik Nordstrom
2004-10-03 18:39 ` Michael Richardson
2004-10-04 18:22 ` BlaisorBlade
2004-10-04 22:40 ` Michael Richardson
2004-10-03 15:04 ` BlaisorBlade
2004-10-03 17:44 ` Michael Richardson
2004-10-04 18:57 ` BlaisorBlade
2004-10-04 20:25 ` Henrik Nordstrom
2004-10-05 18:51 ` BlaisorBlade [this message]
2004-10-06 0:00 ` Henrik Nordstrom
2004-10-06 19:45 ` BlaisorBlade
2004-10-14 16:46 ` BlaisorBlade
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=200410052051.47614.blaisorblade_spam@yahoo.it \
--to=blaisorblade_spam@yahoo.it \
--cc=mcr@sandelman.ottawa.on.ca \
--cc=uml@hno.marasystems.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/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