Stuart Henderson <stu <at> spacehopper.org> writes:

> 
> On 2009-01-04, patrick keshishian <sidster <at> boxsoft.com> wrote:
> > Hi,
> >
> > I'm curious about why privileges are revoked before executing
> > ip-{up,down} scripts?
> >
> > "ROUTING" section of pppd(8) says:
> >
> >     +--- pppd(8)
> >     | When IPCP negotiation is completed successfully,
> >     | pppd will inform the kernel of the local and remote
> >     | IP addresses ... to create a host route to the remote
> >     | end ... which will enable the peers to exchange IP
> >     | packets. Communication with other machines generally
> >     | requires further modification to routing tables. In
> >     | most cases the defaultroute [is] sufficient for this,
> >     | but in some cases further intervention is required.
> >     | The /etc/ppp/ip-up script can be used for this.
> >     +-
> >
> > However, if ip-up is to change the routing table it will require
> > root privilege.
> >
> > Am I missing something?

> Looks like a bug to me. The actual behaviour is not what is documented
> in the SCRIPTS section of the manual "The scripts are executed as root
> (with the real and effective user ID set to 0)".
> 
> Upstream (now hosted at ppp.samba.org) changed this to setuid(0), we
> haven't synced since then.
> 
> -     (void) chdir ("/"); /* no current directory. */
> -     setuid(geteuid());
> +     (void) chdir ("/");     /* no current directory. */
> +     setuid(0);              /* set real UID = root */
> 
>
http://git.ozlabs.org/?p=ppp.git;a=commit;h=a00baab063b349591289cbde22ab40cf80b8f0af
> 
> We changed to use setresuid() rather than setuid(), but this didn't change
> behaviour here. I guess many people will run pppd as root so they won't
> notice the problem (afaict, it only happens if you start as a non-root
> member of the group "network").


As discussed (off-line) this was changed in -r1.45 by d...@.
Since no one else is chiming in, I'm asking if someone will
looking into updating this, or was there a valid reason why
it was decided to prevent scripts to run with root privilege
in our local copy of pppd?

I'm not a heavy pppd user so I can't test this patch thoroughly.
But if there are not glaring issues with running the scripts
from pppd (ip-up, ip-down, ...) with uid set to 0 I can give
it a go.

--patrick

Reply via email to