PERFORCE change 85448 for review
John Baldwin
jhb at freebsd.org
Tue Oct 18 16:21:05 GMT 2005
On Tuesday 18 October 2005 06:23 am, Robert Watson wrote:
> On Mon, 17 Oct 2005, John Baldwin wrote:
> > On Monday 17 October 2005 11:42 am, Robert Watson wrote:
> >> http://perforce.freebsd.org/chv.cgi?CH=85448
> >>
> >> Change 85448 by rwatson at rwatson_zoo on 2005/10/17 15:41:26
> >>
> >> In execve(), audit the path name being executed. Annotate that it
> >> would also be good to audit the pathname of the interpreter, if
> >> any.
> >
> > It's not a huge deal to do that you know, add the AUDITVNPATH1 flag to
> > the various name lookups in imgact_foo.c
>
> I'm not sure I fully understand how the lookups are managed in execve() --
> if you look at the do_execve() code, you'll see that it iterates around
> and re-executes the same namei() for the interpreter label -- however,
> when I instrument it so that a second invocation audits as the second
> audit path, no second path appears, suggesting that in fact it is in the
> image activator. I'll have to do some more reading.
I think it depends on the activator. I think that imgact_shell might depend
on the second lookup in do_execve() for #!/bin/sh type files for example, but
imgact_elf certainly does its own lookup to find the appopriate ELF
interpreter (i.e. rtld) to use.
> Robert N M Watson
>
> >> Affected files ...
> >>
> >> .. //depot/projects/trustedbsd/audit3/sys/kern/kern_exec.c#5 edit
> >>
> >> Differences ...
> >>
> >> ==== //depot/projects/trustedbsd/audit3/sys/kern/kern_exec.c#5 (text+ko)
> >> ====
> >>
> >> @@ -350,10 +350,13 @@
> >> /*
> >> * Translate the file name. namei() returns a vnode pointer
> >> * in ni_vp amoung other things.
> >> + *
> >> + * XXXAUDIT: It would be desirable to also audit the name of the
> >> + * interpreter if this is an interpreted binary.
> >> */
> >> ndp = &nd;
> >> - NDINIT(ndp, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME | MPSAFE,
> >> - UIO_SYSSPACE, args->fname, td);
> >> + NDINIT(ndp, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME | MPSAFE |
> >> + AUDITVNPATH1, UIO_SYSSPACE, args->fname, td);
> >>
> >> interpret:
> >> error = namei(ndp);
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-cvs" in the body of the message
More information about the trustedbsd-cvs
mailing list