[Perl] Le répertoire courant n'est plus dans @INC ?

David Rigaudiere david at rigaudiere.net
Dim 7 Mai 14:28:07 CEST 2017


Hello
Oui depuis perl 5.24.1 :

http://search.cpan.org/dist/perl-5.24.1/pod/perldelta.pod#Core_modules_and_tools_no_longer_search_"."_for_optional_modules


 <>
Core modules and tools no longer search "." for optional modules <>
The tools and many modules supplied in core no longer search the default current directory entry in @INC <http://search.cpan.org/~shay/perl-5.24.1/pod/perlvar.pod#@INC> for optional modules. For example, Storable <http://search.cpan.org/perldoc?Storable> will remove the final "." from @INC before trying to load Log::Agent <http://search.cpan.org/perldoc?Log%3A%3AAgent>.

This prevents an attacker injecting an optional module into a process run by another user where the current directory is writable by the attacker, e.g. the /tmp directory.




> Le 7 mai 2017 à 12:01, Sylvain Lhullier <sylvain at lhullier.org> a écrit :
> 
> Bonjour,
> 
> Suite à la mise à jour de mes systèmes vers Ubuntu 17.04, je suis passé en Perl v5.24.1.
> Et j'ai remarqué que @INC ne contient plus '.' (le répertoire courant) par défaut.
> 
> J'ai noté que le fichier  /etc/perl/sitecustomize.pl  contient
>  pop @INC if $INC[-1] eq '.' and !$ENV{PERL_USE_UNSAFE_INC};
> (si je commente cette ligne, perl fonctionne comme avant avec '.' dans @INC)
> 
> Est-ce une volonté côté Perl ? côté Debian/Ubuntu ?
> 
> En attendant d'en savoir plus, j'ai ajouté
>  BEGIN { push @INC, '.' }
> dans mes programmes pour utiliser mes modules
> plutôt qu'un  PERL_USE_UNSAFE_INC=1 ./prog.pl
> ou que de modifier le système.
> 
> Avez-vous constaté cela dans vos systèmes (récents) ?
> 
> Merci de vos éclairages
> 
> Librement,
> 
> -- 
> Sylvain Lhullier
> Formation Perl  http://formation-perl.fr/
> Président des Mongueurs de Perl  http://mongueurs.net/
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
> 

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20170507/08bc4d49/attachment.html>


Plus d'informations sur la liste de diffusion Perl