sudo命令_Linux曝出Sudo提权漏洞 受限用户亦可运行root命令

作为 Linux 中最常使用的重要实用程序之一,Sudo 几乎安装在每一款 UNIX 和 Linux 发行版上,以便用户调用和实施核心命令。然而近期曝出的一个提权漏洞,却直指 sudo 的一个安全策略隐患—— 即便配置中明确不允许 root 用户访问,该漏洞仍可允许恶意用户或程序,在目标 Linux 系统上以 root 用户身份执行任意命令。

e1f74c1e3dabe7597e3c9eec609d96ab.png

(题图 via Hacker News)

据悉,Sudo 特指“超级用户”。作为一个系统命令,其允许用户以特殊权限来运行程序或命令,而无需切换使用环境(通常以 root 用户身份运行命令)。

默认情况下,在大多数 Linux 发行版中(如屏幕快照所示),/ etc / sudoers 的 RunAs 规范文件中的 ALL 关键字,允许 admin 或 sudo 分组中的所有用户,以系统上任何有效用户的身份运行任何命令。

然而由于特权分离是 Linux 中最基本的安全范例之一,因此管理员可以配置 sudoers 文件,来定义哪些用户可以运行哪些命令。

46d4682c21c96d8d289d2769eef979b2.png

这样一来,基板限制了用户以 root 身份运行特定或任何命令,该漏洞也可允许用户绕过此安全策略,并完全控制系统。

Sudo 开发者称: “只要 Runas 规范明确禁止 root 访问、首先列出 ALL 关键字,具有足够 sudo 权限的用户就可以使用它来以 root 身份运行命令。”

据悉,该漏洞由苹果信息安全部门的 Joe Vennix 追踪发现(CVE-2019-14287)。且想要利用这个 bug,只需 Sudo User ID -1 或 4294967295 。

0eb68e9a639a33892324bf7ca2f4b894.png

这是因为将用户 ID 转换为用户名的函数,会将 -1(或无效等效的 4294967295)误认为 0,而这正好是 root 用户 User ID 。

此外,由于通过 -u 选项指定的 User ID 在密码数据库中不存在,因此不会运行任何 PAM 会话模块。

综上所述,该漏洞影响最新版本 1.8.28 之前的所有 Sudo 版本。庆幸的是,几个小时前,各大 Linux 发行版都已经在向用户推送新版本了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值