漏洞预警 | procps-ng 本地提权

阅读量152605

发布时间 : 2018-05-25 19:31:53

procps-ng 本地提权

procps是一款Linux系统中的进程管理和内存管理工具,它通过/proc目录搜集进程的信息。
2018年5月24日,Qualys研究实验室发布了有关于procps-ng的五个漏洞公告,分别是:

CVE-2018-1124 本地提权漏洞(影响较严重)

CVE-2018-1120 procps拒绝服务

CVE-2018-1121 非特权进程隐藏

CVE-2018-1122 本地提权漏洞

CVE-2018-1123 procps拒绝服务

 

漏洞详情

CVE-2018-1124

危害等级:高

 

漏洞描述

默认情况下pgrep,pidof,pkill,w命令及加入非默认选项的其它procps-ng工具会使用 libprocps 中的file2strvec函数来解析/proc/pid/cmdline或者/proc/pid/environ。在解析的过程中可能发生整数溢出漏洞进而导致代码执行。此外,漏洞报告者(Qualys)已经展示了此漏洞可以被成功利用。

 

漏洞触发条件

在使用procps-ng 3.3.15版本的前提下,当低权限的用户(包括docker等容器内的用户)构造一个恶意的/proc/pid/cmdline或者/proc/pid/environ后,管理员或者高权限的脚本程序一旦调用pgrep,pidof,pkill,w等命令,即有可能触发漏洞导致攻击者直接获得执行该命令的管理员的权限(可穿透docker等容器,绕过chroot等限制)。
另外,即使当前binary开启NX,ASLR,PIE,full RELRO,Stack Canary,FORTIFY等利用缓解措施,漏洞依然有可能被利用。

 

影响版本

使用了procps-ng==3.3.15版本的所有Linux

解决方案

目前官方还未给出修复方案,可使用Qualys研究实验室提供的补丁
https://www.qualys.com/2018/05/17/procps-ng-audit-report-patches.tar.gz

 

CVE-2018-1120

用户空间文件系统(Filesystem in Userspace,简称FUSE)是一个面向类Unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。

危害等级:低

 

漏洞描述

procps-ng 3.3.15之前版本存在一处拒绝服务漏洞。攻击者可通过向cmdline或environ添加命令行参数的方式,用于破坏pgrep,pidof,pkill,ps,w的正常使用。

漏洞触发条件

在使用了procps-ng<3.3.15版本的前提下,当攻击者在本地构造出包含恶意命令行参数的cmdline或environ后,管理员或者高权限脚本或进程一旦执行相关procps工具,即有可能触发漏洞。

 

影响版本

使用了procps-ng<3.3.15版本的所有Linux

 

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)

 

CVE-2018-1121

危害等级:低

 

漏洞描述

在使用procps-ng 3.3.15以下版本时,procps-ng工具在执行的过程中会读入每一个进程的/proc/pid/cmdline,当遇到恶意构造的cmdline等,可能会触发procps内的拒绝服务或者竞争条件漏洞,导致某一个非特权进程从procps-ng工具集(pgrep,pidof,pkill,ps,w)的显示列表中隐藏。

 

漏洞触发条件

在使用procps-ng 3.3.15以下版本的前提下,攻击者在本地构造恶意/proc/pid/cmdline等相关变量后,管理员或者高权限脚本或进程一旦执行相关procps工具,即有可能触发漏洞。

 

影响版本

使用了procps-ng<3.3.15版本的所有Linux

 

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)

 

CVE-2018-1122

top用于动态展示进程的状态,并且会一直刷新进程所占用的内存等信息。

危害等级:低

 

漏洞描述

在procps-ng 3.3.15之前版本中,如果管理员等高权限用户或者脚本、程序在攻击者可写的目录中执行top命令,并且HOME环境变量未设置或为空,top会从当前目录读取配置文件且不加入任何安全检查,从而在配置文件的处理过程中可能造成任意代码执行。

 

漏洞触发条件

在使用小于procps-ng 3.3.15的版本的情况下,管理员在攻击者可写的目录中执行top命令,并且HOME环境变量未设置或为空。

 

影响版本

使用了procps-ng<3.3.15版本的所有Linux

 

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)

 

CVE-2018-1123

ps用于展示ps命令执行时进程的状态。

危害等级:低

 

漏洞描述

procps-ng 3.3.15之前版本的ps程序的pr_args,pr_comm和 pr_fname函数存在缓冲区溢出bug。攻击者可以溢出ps程序的输出缓冲区,造成对ps程序本身的拒绝服务。这个溢出被利用做本地提权的可能性极小。

 

漏洞触发条件

使用小于procps-ng 3.3.15的版本时,攻击者在构造了恶意的命令行之后,管理员或者高权限脚本或进程一旦执行ps程序,即有可能触发漏洞。

 

影响版本

使用了procps-ng<3.3.15版本的所有Linux

 

解决方案

升级procps-ng至3.3.15版本,并打上由Qualys发布的报告(见本文关于CVE-2018-1124中的解决方案)

 

参考链接

漏洞报告详情:
http://www.openwall.com/lists/oss-security/2018/05/17/1

procps官方Gitlab仓库:
https://gitlab.com/procps-ng/procps

Red Hat公告:
https://access.redhat.com/security/cve/cve-2018-1120

Red Hat公告:
https://access.redhat.com/security/cve/cve-2018-1121

Red Hat公告:
https://access.redhat.com/security/cve/cve-2018-1122

Red Hat公告:
https://access.redhat.com/security/cve/cve-2018-1123

Red Hat公告:
https://access.redhat.com/security/cve/cve-2018-1124

本文转载自:

如若转载,请注明出处: https://mp.weixin.qq.com/s/kGVtJLGb6ojXtW8bHdi2DA

安全客 - 有思想的安全新媒体

分享到:微信
+10赞
收藏
长亭科技
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66