每次我想升级或安装 PEAR 包时,都会收到以下一系列错误消息:
C:>pear upgrade
从 pear.php.net 获取频道信息时出错:安全错误:不会写入 C:\Users\ALVARO.GONZALEZ\AppData\Local\Temp\pear\cache\6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid,因为它符号链接到C:\Users\ALVARO.GONZALEZ\AppData\Local\Temp\pear\cache\6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid - 可能的符号链接攻击
[...]
它在说什么符号链接?当我复制并粘贴两条路径并将它们并排放置时,老实说,我看不出区别:
C:\Users\ALVARO.GONZALEZ\AppData\Local\Temp\pear\cache\6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid
C:\Users\ALVARO.GONZALEZ\AppData\Local\Temp\pear\cache\6d1f6e892384ae452db9a1bd59ee95f5rest.cacheid
当我清空缓存目录时,错误消失了:
C:\>pear clear-cache
reading directory C:\Users\ALVARO.GONZALEZ\AppData\Local\Temp\pear\cache
74 cache entries cleared
...直到下一次我需要安装东西。
我的问题是:
- 为什么会触发这些错误?
- 有什么方法可以防止他们一开始就出现吗?
编辑:在 2011 年底有一张关于此文件的公开票。该问题是由PEAR install 中的 Symlink 攻击的安全修复引起的。我会报告任何结果。