由 Urabe Shyouhei 于 2011 年 2 月 18 日发布
在 FileUtils.remove_entry_secure 中发现了一个符号链接竞争条件漏洞。该漏洞允许本地用户删除任意文件和目录。
受影响的版本
- Ruby 1.8.6 patchlevel 420 及所有更早版本
- Ruby 1.8.7 patchlevel 330 及所有更早版本
- Ruby 1.8 的开发版本 (1.8.8dev)
- Ruby 1.9.1 patchlevel 430 及所有更早版本
- Ruby 1.9.2 patchlevel 136 及所有更早版本
- Ruby 1.9 的开发版本 (1.9.3dev)
解决方案
我们已经修复了这种情况。鼓励所有受影响的用户升级其 Ruby 安装。
但请注意,当您要删除的任何上层目录的所有者是您不信任的人时,符号链接竞争攻击是不可避免的。因此,如果要确保安全,您必须确保所有父目录不能被其他不受信任的用户移动。例如,父目录不应由不受信任的用户拥有,并且除非设置了粘滞位,否则不应是世界可写的。
更新
- 修复了拼写错误。(vulnerabile -> vulnerable)
- 1.8.7-334 已发布以修复此问题。鼓励 1.8.7 用户升级。
- 1.9.1-p431 已发布以修复此问题。鼓励 1.9.1 用户升级。
- 1.9.2-p180 已发布以修复此问题。鼓励 1.9.2 用户升级。
- 修复了 1.9 系列的受影响版本。