Sudo 漏洞允许非特权 Linux 和 macOS 用户以 root 身份运行命令

苹果的安全专家Joe Vennix发现了一个漏洞(CVE-2019-18634),它允许非特权Linux和macOS用户以root身份运行命令。

此漏洞仅能在特殊配置下利用。

仅当“pwfeedback”选项已在sudo配置文件中启用时才能利用该漏洞。root的 pwfeedback 选项允许在用户输入密码时提供视觉反馈。

专家指出,即使用户不在用户文件中也可以触发此漏洞。

“无需获得 root 权限即可触发此漏洞,只需启用 pwfeedback 即可。” sudo 开发人员 Todd C. Miller 写道。

“在输入密码时,可以通过管道大量输入sudo进行复现。例如:”

 $ perl -e 'print(("A" x 100 . "/x{00}") x 50)' | sudo -S id  Password: Segmentation fault

造成此漏洞的原因有两个:

  • 从终端设备以外的其他设备读取时一般不会忽略pwfeedback选项。由于缺少终端,因此行擦除字符的版本始终为初始值0。
  • 如果存在写错误,擦除星号行的代码将无法正确重置缓冲区位置,但是会重置剩余的缓冲区长度。这将导致getln()函数写到缓冲区以外。”

如果启用了该选项,可以在用户配置文件中将“Defaults pwfeedback” 改为 “Defaults !pwfeedback” 。

sudo 维护人员发布了 root 的 1.8.31版本。

“虽然 sudo 的1.8.26到1.8.30版本中也有逻辑错误,但是由于1.8.26之后的版本对EOF处理进行了改动,所以无法利用漏洞。”Miller解释道。

在2019年10月,Vennix 发现了一个Sudo绕过问题,即使“sudo用户配置”不允许进行root访问,恶意用户或恶意程序仍然可以在目标Linux系统上以root用户身份执行任意命令。

 

消息来源:SecurityAffairs, 译者:r4938n,校审:吴烦恼
本文由 HackerNews.cc 翻译整理,封面来源于网络。
转载请注明“转自 HackerNews.cc ” 并附上原文链接

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论