Nginx本地提权漏洞

漏洞描述

    11 月 15 日,Dawid Golunski 发现 Nginx 存在本地提权漏洞,CVE 编号为 CVE-2016-1247。这个漏洞产生的原因是 Nginx 在新建日志目录时,使用了不安全的权限,导致本地恶意攻击者可以从 Nginx / Web 用户权限 (www-data) 提升到 root 权限。该漏洞影响基于 Debian 的 Linux 发行版的 Nginx 网站服务器。

    该漏洞的利用首先需要攻击者能够获取到系统的 www-data 用户权限,然后利用攻击脚本将原本的日志文件替换为恶意代码文件,当 Nginx daemon 重新打开日志文件时,提权成功,获取 root 权限,成功利用效果如下:

    blob.png

    漏洞危害

    攻击者在成功入侵 Nginx 发布的网站之后,默认的用户控制权限是 www-data。利用该漏洞可以轻松地提权到 root 用户权限,从而完全控制服务器。

    漏洞影响

    Debian 系统Debian 系统在 Nginx 1.6.2-5+deb8u3 中修复 

    Ubuntu 系统Ubuntu 16.04 LTS:在 1.10.0-0ubuntu0.16.04.3 中修复

    Ubuntu 14.04 LTS:在 1.4.6-1ubuntu3.6 中修复

    Ubuntu 16.10:在 1.10.1-0ubuntu1.1 中修复

    除以上已修复或更高版本,其他 Nginx 服务器版本均受到该漏洞影响。

解决方案

    Debian 和 Ubuntu 已经在官方安全公告中说明该漏洞,可以直接使用系统更新命令,更新 Nginx 软件。

    Debian 官方公告: https://www.debian.org/security/2016/dsa-3701

    Ubuntu 官方公告: https://www.ubuntu.com/usn/usn-3114-1/