今天在运维阿里云服务器的时候,在阿里云安全中心管理控制台发现有一项漏洞风险提示为:RHSA-2018:3092-中危: glibc 安全和BUG修复更新。在详细信息描述中可以看到漏洞涉及到:GNU C Library 'elf/dl-load.c ' 本地权限提升漏洞、glibc 基于堆的缓冲区溢出导致任意代码执行、glibc 中memcpy函数实现存在缓冲区溢出、GNU C Library 'memalign'函数整数溢出漏洞。

点开该漏洞风险详情信息后,可以查看到漏洞详情信息以及受影响的ECS服务器实例信息,如下图:

可以从漏洞详情中查看到如下具体信息:

漏洞编号

影响分  

漏洞公告

CVE-2017-16997

7.8

GNU C Library 'elf/dl-load.c ' 本地权限提升漏洞

CVE-2018-11236

7.8

glibc 基于堆的缓冲区溢出导致任意代码执行

CVE-2018-11237

5.6

glibc 中memcpy函数实现存在缓冲区溢出

CVE-2018-6485

9.8

GNU C Library 'memalign'函数整数溢出漏洞

从漏洞详细介绍页面可知:

(1)GNU C Library 'elf/dl-load.c ' 本地权限提升漏洞:GNU C Library (又称作 glibc or libc6) 2.19 through 2.26中的elf/dl-load.c错误处理包含$ ORIGIN的RPATH和RUNPATH,其用于特权(setuid或AT_SECURE)程序,这允许本地用户通过特洛伊木马库获得在当前工作目录中的,与fillin_rpath和decompose_rpath函数有关的特权。这与将空的RPATH / RUNPATH标记误解为“./”目录有关。注意:特权程序的RPATH / RUNPATH配置显然非常罕见;很可能,没有任何公共Linux发行版附带这样的程序。

(2)glibc 基于堆的缓冲区溢出导致任意代码执行漏洞:在 GNU C Library(又名glibc或libc 6)2.27和更早版本中的stdlib/canonicalize.c在处理realpath函数的非常长的路径名参数时,可能会在32位架构上遇到整数溢出,从而导致基于堆栈的缓冲区溢出,并可能导致执行任意代码。 

(3)glibc 中memcpy函数实现存在缓冲区溢出漏洞:在满足特定条件时,在__mempcpy_avx512_no_vzeroupper函数中的GNU C Library(又称作 glibc或libc6)中发现了缓冲区溢出。攻击者可能利用此漏洞导致拒绝服务或可能执行代码。

(4)GNU C Library 'memalign'函数整数溢出漏洞:GNU C Library (又名glibc或libc6)中memalign函数中的posix_memalign实现中的整数溢出可能会导致这些函数返回一个指向堆区域的指针,该区域太小,可能会导致堆损坏。

在第一图的阿里云漏洞详情下面有列举出受到影响的阿里云ECS服务器实例信息,在实例列表中可通过阿里云官方提供的修复功能进行修复。