全部产品

【漏洞公告】procps-ng 本地提权漏洞

更新时间:2018-05-25 21:22:05

2018年5月25日,阿里云云盾应急响应中心监测Qualys安全实验室审计procps-ng发现多个漏洞。procps-ng 是一系列命令行工具(包含top,ps,w等)用于浏览procfs,是内核为了披露进程表中的信息而生成的伪文件系统。其中CVE-2018-1124漏洞较为严重,可以被攻击者利用进行本地提权。

漏洞详情见下文


漏洞编号

CVE-2018-1120

CVE-2018-1121

CVE-2018-1122

CVE-2018-1123

CVE-2018-1124

CVE-2018-1125

漏洞名称

CVE-2018-1120:procps-ng多个命令拒绝服务漏洞

CVE-2018-1121:procps-ng套件低权限进程隐藏漏洞

CVE-2018-1122:procps-ng套件top命令本地权限提升漏洞

CVE-2018-1123:procps-ng套件ps命令拒绝服务漏洞

CVE-2018-1124:procps-ng套件libprocps库本地权限提升漏洞

CVE-2018-1125:procps-ng套件pgrep命令缓冲区溢出漏洞

官方评级

CVE-2018-1120(低危)

CVE-2018-1121(低危)

CVE-2018-1122(低危)

CVE-2018-1123(低危)

CVE-2018-1124(高危)

CVE-2018-1125(低危)

漏洞描述

CVE-2018-1120 procps-ng多个命令拒绝服务漏洞

FUSE是一个面向类Unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。通过将FUSE支持的文件映射到进程的包含了命令行参数,或者环境变量字符串的内存空间,攻击者可以导致psutils,procps,或任意对/proc//cmdline或者/proc//environ进行read()方法调用的工具卡死,且卡死时长可由攻击者控制。

CVE-2018-1121 procps-ng套件低权限进程隐藏漏洞

没有特权的攻击者可以通过造成拒绝服务,或制造条件竞争,从procps-ng套件的工具显示结果中隐藏。

CVE-2018-1122 procps-ng套件top命令本地权限提升漏洞

procps-ng套件3.3.15之前的版本存在top命令本地权限提升漏洞。当HOME环境变量未设置或为空时,top工具从其当前工作文件夹中不加安全考虑地读取配置。如果管理员从攻击者控制的目录执行top命令,会导致在攻击者利用config_file()配置的情况下造成本地权限提升。

CVE-2018-1123 procps-ng套件ps命令拒绝服务漏洞

procps-ng套件3.3.15之前的版本中的ps命令存在mmap缓冲区溢出漏洞造成拒绝服务的风险。由于ps的设计中启用了PROT_NONE内存守护页,该漏洞不会导致本地提权。

CVE-2018-1124 procps-ng套件libprocps库本地权限提升漏洞

procps-ng套件3.3.15之前的版本中,攻击者可以利用libprocps库中file2strvec()函数中的整数溢出漏洞,当另一个用户/管理员/脚本执行procps-ng相关命令时,会造成本地权限提升。其中pgrep,pidof,pkill和w 默认会受到影响,其他命令在非常规配置下会受到影响。另外,容器中的恶意进程也会触发容器外的漏洞,攻击者可利用此漏洞跨越出容器或者破除chroot限制。

CVE-2018-1125 procps-ng套件pgrep命令缓冲区溢出漏洞

procps-ng套件3.3.15之前的版本中的pgrep存在缓冲区溢出漏洞。由于procps-ng套件编译时均加载了fortify,该漏洞仅造成应用程序崩溃。

漏洞利用条件和方式

CVE-2018-1124:本地提权

漏洞检测

检查是否使用了受影响版本

CentOS系统:

  1. rpm -qa | grep procps

查看相关版本是否小于漏洞修复建议中提供的版本

Ubuntu系统:

  1. apt show procps

查看相关版本是否小于漏洞修复建议中提供的版本

漏洞修复建议(或缓解措施)

阿里云安全团队建议用户关注并及时更新到最新版

注意:修复前请使用ECS快照功能进行备份。

CentOS7.x

  1. x86: http://mirror.centos.org/centos/7/os/x86_64/Packages/procps-ng-3.3.10-17.el7.i686.rpm
  2. x64: http://mirror.centos.org/centos/7/os/x86_64/Packages/procps-ng-3.3.10-17.el7.x86_64.rpm

安装方式

  1. yum install 相关版本升级包.rpm

CentOS6.x

  1. 官方暂无更新包

Ubuntu 14.04

  1. x86版本:
  2. procps软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/procps_3.3.9-1ubuntu2.3_i386.deb
  3. libprocps3软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/libprocps3_3.3.9-1ubuntu2.3_i386.deb
  4. x64版本:
  5. procps软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/libprocps3_3.3.9-1ubuntu2.3_amd64.deb
  6. libprocps3软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/libprocps3_3.3.9-1ubuntu2.3_amd64.deb

Ubuntu 16.04

  1. x86系统:
  2. procps软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/procps_3.3.10-4ubuntu2.4_i386.deb
  3. libprocps4软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/libprocps4_3.3.10-4ubuntu2.4_i386.deb
  4. x64系统:
  5. procps软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/procps_3.3.10-4ubuntu2.4_amd64.deb
  6. libprocps4软件包: http://archive.ubuntu.com/ubuntu/pool/main/p/procps/libprocps4_3.3.10-4ubuntu2.4_amd64.deb

安装方法

  1. dpkg -i 相关版本升级包.deb

情报来源

Red Hat官方公告:

https://access.redhat.com/security/cve/cve-2018-1120

https://access.redhat.com/security/cve/cve-2018-1121

https://access.redhat.com/security/cve/cve-2018-1122

https://access.redhat.com/security/cve/cve-2018-1123

https://access.redhat.com/security/cve/cve-2018-1124

https://access.redhat.com/security/cve/cve-2018-1125