linux sudo root 权限绕过漏洞(CVE-2019-14287)

颓废 2019年11月21日23:58:10评论976 views字数 1477阅读4分55秒阅读模式
摘要

WebLogic是Oracle公司出品的基于JavaEE架构的中间件,用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用。

2019年10月14日,Sudo官方发布了Sudo 1.8.28版本,其中包含sudo root权限绕过漏洞的补丁修复。

漏洞编号是CVE-2019-14287,当sudo配置为允许用户以任意方式运行命令时用户通过Runas规范中的ALL关键字,可以通过指定用户ID -1或4294967295以root用户身份运行命令。

具有足够sudo权限的用户可以使用它来运行Runas规范明确禁止使用的root命令,以这种方式运行的命令的日志条目将列出目标用户为4294967295而不是root。


漏洞介绍

WebLogic是Oracle公司出品的基于JavaEE架构的中间件,用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用。

2019年10月14日,Sudo官方发布了Sudo 1.8.28版本,其中包含sudo root权限绕过漏洞的补丁修复。

漏洞编号是CVE-2019-14287,当sudo配置为允许用户以任意方式运行命令时用户通过Runas规范中的ALL关键字,可以通过指定用户ID -1或4294967295以root用户身份运行命令。

具有足够sudo权限的用户可以使用它来运行Runas规范明确禁止使用的root命令,以这种方式运行的命令的日志条目将列出目标用户为4294967295而不是root。

利用条件

1.sudo -v < 1.8.28
2.知道当前用户的密码
3.当前用户存在于sudo权限列表

漏洞分析

udo程序是为了让用户使用自己的登录密码来以其他用户身份执行命令,无需输入密码,有趣的是,攻击者可以利用此漏洞,只需指定用户ID“ -1”或“ 4294967295”即可以root身份运行命令。

因为将用户ID转换为用户名的函数将-1或其无符号等效4294967295误认为是0,该值始终是root用户的用户ID

linux sudo root 权限绕过漏洞(CVE-2019-14287)

利用漏洞要求用户具有 sudo 权限,从而以任意用户 ID 运行命令。一般而言,用户的 sudoers 条目在 Runas 规范中具有特殊值 ALL。
Sudo 支持在 sudoers 策略允许的情况下,以用户指定的名称或用户 ID 运行命令。
例如,如下 sudoers 条目允许 id 命令以任意用户身份运行,因为它包含 Runas 规范中的关键字ALL。

myhost alice = (ALL) /usr/bin/id

用户不仅能够以其它合法用户身份运行该 id 命令,还能使用 #uid 语法以任意用户 ID 运行该命令,例如:

sudo -u#12345 id -u

将返回12345,然而,sudo 在运行命令前用户修改用户 ID 的setresuid(2) 和 setreuid(2)系统调用将特殊对待用户 ID为-1(或其未签名的等同值 4294967295)而且并不会修改该值的用户 ID。因此,

sudo -u#-1 id -u

或者

sudo -u#4294967295 id -u

会返回 0。这是因为 sudo命令本身就已经以用户 ID 为0 运行,
因此当 sudo 试图将用户 ID 修改成 -1时,不会发生任何变化。
这就导致 sudo 日志条目将该命令报告为以用户 ID 为 4294967295而非 root (或者用户ID为 0)运行命令。此外,由于通过–u 选项指定的用户 ID 并不存在于密码数据库中,因此不会运行任何 PAM 会话模块。
如果sudoers 条目被写入允许用户以除 root 身份以外的用户身份运行命令,则可利用该 bug 绕过该限制。例如,给定如下 sudoers 条目:

myhost alice = /usr/bin/id

漏洞复现

查看sudo版本,确定sudo -v < 1.8.28

linux sudo root 权限绕过漏洞(CVE-2019-14287)

编辑/etc/sudoers文件,增加对test账户设置的权限

test  ALL=(ALL,!root) /bin/bash

linux sudo root 权限绕过漏洞(CVE-2019-14287)

保存后,退出。

linux sudo root 权限绕过漏洞(CVE-2019-14287)

参考信息

https://thehackernews.com/2019/10/linux-sudo-run-as-root-flaw.html

https://www.sudo.ws/alerts/minus_1_uid.htm

http://vulsee.com/archives/vulsee_2019/1015_9074.html

https://mp.weixin.qq.com/s/bb6Hd3JdYiLilqdP_-INtA

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年11月21日23:58:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   linux sudo root 权限绕过漏洞(CVE-2019-14287)http://cn-sec.com/archives/74187.html

发表评论

匿名网友 填写信息