在安装Debian 9时,我发现它.不再是其中的一部分了@INC.
为x86_64-linux-gnu-thread-multi构建的Perl(v5.24.1)
Built under linux
Compiled at Jan 15 2017 23:35:20
@INC:
/etc/perl
/usr/local/share/perl/5.24.1
/usr/lib/x86_64-linux-gnu/perl5/5.24
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.24
/usr/share/perl/5.24
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
sim*_*que 14
因为.已经从@INC5.24.1中删除了核心模块.这是一个安全功能,以防止此博客文章谈论的漏洞利用.
2月份,我用Perl 5 Porters打开了一张票,让他们接受一个非默认的删除选项.来自@INC.不幸的是,我被打败了,并且Perl 5 Security披露了漏洞.TL; DR:现在已经有了关于拥有的不安全感.在@INC.
对于5.24.1 ,更改记录在perldelta中.
这可以防止攻击者将可选模块注入由攻击者可写入当前目录的另一个用户运行的进程,例如/ tmp目录.
它很可能在5.26中完全删除.这里有关于p5p邮件列表的更多讨论,摘自这篇博客文章.
在Perl的南瓜索耶X也解释了这个在谈话的Perl 5.24,5.26,和Perl 5的未来,他给在2017年FOSDEM.这是谈话的录音1.