BIND 10 #139: review: copy environment variables from bind10 to children
BIND 10 Development
do-not-reply at isc.org
Thu Apr 8 21:59:49 UTC 2010
#139: review: copy environment variables from bind10 to children
--------------------------+-------------------------------------------------
Reporter: jinmei | Owner: jinmei
Type: enhancement | Status: closed
Priority: minor | Milestone:
Component: Unclassified | Resolution: fixed
Keywords: | Sensitive: 0
--------------------------+-------------------------------------------------
Changes (by jinmei):
* status: assigned => closed
* resolution: => fixed
Comment:
Replying to [comment:1 shane]:
> However, I think we need to look at the BIND 10 security model in
greater depth. Probably something to discuss in person and make an actual
deliverable. So, rather than making the software harder for us to use for
a poorly-thought-out "security" feature, go ahead and merge this change.
Okay. Then I'll simply close this ticket. (It is already *merged* in
that it's been committed to the trunk. I have a question about the
relationship among "patch", "review", "merge", "trunk", "release", etc, as
I quickly raised this morning/afternoon/night, but that's a different and
more generic issue)
Now, commenting on the original rationale:
> The intention was to run children with only environment variables that
we set. This is in keeping with practice of things like cron. My thinking
was that various types of attack are perhaps possible by running with a
bogus environment - like setting strange LD_LIBRARY_PATH. ;)
I don't think this trick buys much, if any, wrt security. With this logic
we couldn't even let shells delegate environment varialbes to child
processes, could we? After all, if a malicious guy tries to do some evil
thing by setting LD_LIBRARY_PATH or whatever to a strange value and
passing it to b10-xxx processes via the boss process, that person already
has sufficient privilege to do that even with the previous model of env
handling. Besides, bind10 is "hackable" by default (right?) so the evil
person could even rewrite or develop their own evil version of the boss
program.
I didn't know cron strictly limits inheritable env variables or whether
it's for "security" purposes, but that might be because the cron daemon is
supposed to invoke arbitrary program, often changing the owner of the
process from a super user to an arbitrary normal user. The relationship
of the BIND10 boss process and other b10-xxx is pretty much different from
this: invokable programs are generally fixed and hardcoded, and there
would only be a few known variations for the owner of the child processes
(a super user + user "bind").
If we refer to other applications for an analogy, I think postfix is more
appropriate than cron. And, from a quick study of its source code the
master process of postfix doesn't filter any environment variables for its
children.
--
Ticket URL: <https://bind10.isc.org/ticket/139#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list