前言
印度安全研究员Narendra Shinde在X.Org Server软件包中发现了一个非常关键的提权漏洞(CVE-2018-14665),主流Linux发行版均受到影响,包括OpenBSD、Debian、Ubuntu、CentOS、Red Hat和Fedora。
X.Org Server软件包提供了X窗口系统(X Window System,也常称为X11或X)的开源实现。
X Window System是一种以位图方式显示的软件窗口系统。最初是1984年麻省理工学院的研究,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。X窗口系统通过软件工具及架构协议来创建操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上。现在几乎所有的操作系统都能支持与使用X。更重要的是,今日知名的桌面环境——GNOME和KDE也都是以X窗口系统为基础建构成的。
根据Narendra Shinde的说法,X.Org服务器自版本1.19.0起就存在该漏洞,距今已经两年多了,只要X.Org服务器以提升的权限运行,该漏洞就可被利用。
提权和任意文件覆盖
Shinde发现漏洞根源在于X.Org服务器无法正确处理和验证至少以下两个命令行的参数:
-modulepath:设置和搜索Xorg服务器模块的目录路径;
-logfile:跳过位于/var/log/Xorg.n.log的默认日志,为Xorg服务器设置新的日志文件。
当X.Org服务器提权运行时,比如使用setuid命令安装并由非root用户启动时:
-modulepath:可用于指定加载不安全模块的路径, 允许在高级进程中跨权限执行代码。
-logfile:可用于在文件系统中实现任意文件覆盖。
实例
1、收集X.Org服务器加载的模块信息
X.Org服务器在启动期间加载各种模块,本演示中使用 - libglx.so:
2、创建shell模块
Shell.c
3、加载恶意shell模块
4、模块加载器日志:
*参考来源:securityaffairs,Freddy编译整理,转载请注明来自FreeBuf.COM。
领取专属 10元无门槛券
私享最新 技术干货