demerphq wrote:
> On 10/16/07, Michael G Schwern <[EMAIL PROTECTED]> wrote:
>> demerphq wrote:
>>>> Of course, the real problem is our default @INC order is backwards.  It 
>>>> should
>>>> be site, vendor, core not core, site, vendor.
>>> Isnt the reason security? Although I am surprised that vendor is after site.
>> How does security enter into it?
> 
> Preventing people from using locally installed modules as an attack
> vector into other peoples processes.

This assumes a failure of the file permissions system.  And if an attacker can
get at the site library directory they can probably get at the core library
directory, too.


>> Locally installed modules (site) trump everything, the user has to be able to
>> update stuff on their own.  Vendor installed modules next.  Finally the
>> original core modules come last.
> 
> Yes, and then when users are allowed to install modules locally but
> arent allowed to touch the core modules they can create a dummy local
> module that installs into site which could then be used by root
> processes expecting to use the core version. Thus it repesents a
> vector for a privilege escalation attack.

Seems a thin protection.  It only protects against root processes which are
only using core modules.

Where it does become significant is when a vendor has patched a module to do
something rather different.  Then a site version won't have those patches.
This is a nasty maintenance situation anyway.


>> This is like having a path of ~/bin:/usr/bin:/bin
> 
> Except that site could be shared wheras such a path normally wouldnt be.

Ok, /usr/local/bin:/usr/bin:/bin then.


> BTW, im not saying im right, im saying that its the only rational
> justification for the situation at hand. Except that when you consider
> vendor it maybe doesnt make as much sense. In AS installs there is no
> vendor dir, just lib and site/lib, which is probably why i came up
> with this theory. :-)

I think it has something more to do with the folks who do multi-architecture
shared Perl directories.  I asked about it once on p5p and got something
obscure like that.  The current @INC order came into being long before
installing modules from CPAN was a common place occurance and well before
dual-lifed CPAN modules.  The idea of updating a core module didn't exist.

Configure should probably have a simple dialog asking about this.

  How would you like @INC to be ordered? [site vendor core]


-- 
Stabbing you in the face so you don't have to.

Reply via email to