关于锐讯

成立于2004年,十多年经验积累,专注为客户提供优质的网络环境、接入带宽及高稳定性的网络服务

漏洞预警 | procps-ng 本地提权
时间:2018.05.28   作者:锐讯网络   阅读:60

procps是一款Linux系统中的进程管理和内存管理工具,它通过/proc目录搜集进程的信息。

2018年5月24日,Qualys研究实验室发布了有关于procps-ng的五个漏洞公告,分别是:

   CVE-2018-1124: procps-ng 的 file2strvec 函数存在的整数溢出问题可能被攻击者利用来进行本地提权,从而获取管理员权限执行危险命令。

   CVE-2018-1120: 攻击者可以通过带参数的命令(比如ps,w)来触发漏洞,造成拒绝服务攻击。

   CVE-2018-1121: 攻击者可以通过恶意构造的命令来触发漏洞,造成进程隐藏。

   CVE-2018-1122: 在 HOME 环境变量未设置或为空的情况下,攻击者可以利用 top 命令来进行本地提权,从而获取管理员权限执行危险命令。

   CVE-2018-1123: 攻击者可以利用 ps 命令来触发漏洞,造成拒绝服务攻击。

 【漏洞详情】

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中的解决方案)                

 

  Linux,系统漏洞

售前在线咨询

以下为10位资深销售主管官方企业Q,更多销售员Q请咨询销售主管

售后服务

或与官方提供的专属QQ一对一直接服务

工作时间: 周一至周五 9:30至17:30 周六13:30至17:30,其它日期按国家法定节假日休假,如果有不便之请敬请谅解! 售后技术支持:多部门7*24小时机制

客户投诉留言

电话和QQ,以便我们为您提供优质服务! *为必填项