CVE-2018-8779: UNIXServer 和 UNIXSocket 中被污染的 NUL 字节导致意外创建套接字

usa 于 2018 年 3 月 28 日发布

Ruby 附带的 socket 库的 UNIXServer.open 方法存在意外的套接字创建漏洞。此外,UNIXSocket.open 方法也存在意外的套接字访问漏洞。此漏洞已分配 CVE 标识符 CVE-2018-8779

详情

UNIXServer.open 方法在第一个参数中接受要创建的套接字路径。如果路径包含NUL (\0) 字节,该方法会将NUL字节之前的路径识别为套接字路径的结束。因此,如果一个脚本将外部输入作为此方法的参数,攻击者就可以在非预期的路径中创建套接字文件。同样,UNIXSocket.open 方法在第一个参数中接受要创建的套接字路径,并且像UNIXServer.open一样,不检查NUL字节。因此,如果一个脚本将外部输入作为此方法的参数,攻击者就可以在非预期的路径中创建套接字文件。

所有运行受影响版本的用户都应立即升级。

受影响的版本

  • Ruby 2.2 系列:2.2.9 及更早版本
  • Ruby 2.3 系列:2.3.6 及更早版本
  • Ruby 2.4 系列:2.4.3 及更早版本
  • Ruby 2.5 系列:2.5.0 及更早版本
  • Ruby 2.6 系列:2.6.0-preview1
  • 在 r62991 trunk revision 之前

致谢

感谢 ooooooo_q 报告此问题。

历史

  • 最初发布于 2018-03-28 14:00:00 (UTC)

近期新闻

Ruby 4.0.0 发布

我们很高兴地宣布 Ruby 4.0.0 的发布。Ruby 4.0 引入了“Ruby Box”和“ZJIT”,并增加了许多改进。

naruse 发布于 2025 年 12 月 25 日

Ruby 文档的全新外观

继 ruby-lang.org 重新设计之后,我们还有更多好消息来庆祝 Ruby 成立 30 周年:docs.ruby-lang.org 采用了 Aliki——RDoc 的新默认主题,焕然一新。

Stan Lo 发布于 2025 年 12 月 23 日

重新设计我们的网站标识

我们很高兴地宣布对我们的网站进行全面重新设计。此次更新的设计由 Akatsuka Taeko 创作。

Hiroshi SHIBATA 发布于 2025 年 12 月 22 日

Ruby 4.0.0 preview3 发布

我们很高兴地宣布 Ruby 4.0.0-preview3 的发布。Ruby 4.0 引入了 Ruby::Box 和“ZJIT”,并增加了许多改进。

naruse 发布于 2025 年 12 月 18 日

更多新闻...