在systemd-journald中发现了三个漏洞

系统漏洞

已经确定了三个漏洞,这些漏洞使没有特权的攻击者可以提升他们在系统上的特权 并以root身份在负责登录systemd的systemd-journald中运行代码。

漏洞 体现在所有使用systemd的发行版中, 除了SUSE Linux Enterprise 15,openSUSE Leap 15.0和Fedora 28/29, 其中系统组件通过“ -fstack-clash-protection”进行组装。

什么是漏洞?

漏洞 已经在 CVE-2018-16864 y CVE-2018-16865 允许您创建条件以在分配的存储块的限制之外写入数据, 虽然脆弱 CVE-2018-16866 使您可以读取外部存储区的内容。

研究人员准备了该漏洞利用的工作原型 使用漏洞CVE-2018-16865和CVE-2018-16866。

研究人员对这些漏洞的详细情况 他们告诉我们,这允许在具有i10架构的系统上受到大约386分钟的攻击,而在amd70系统上受到64分钟的攻击后,获得root特权。

该漏洞已经在Debian 9.5上进行了测试。

他们还解释说:

编写漏洞利用程序后, 使用堆栈Сlash技术,其实质是在溢出堆的内容位于堆栈区域中时创建条件,或者相反,堆栈可以重写堆区域。

这在堆栈和堆彼此相邻放置(堆栈区域紧随为堆分配的内存之后)的情况下表现出来。

提出的漏洞利用证实了以下假设:仅在Linux内核级别对StackСlash类攻击进行防护是不够的。

同时,通过启用“ -fstack-clash-protection”选项重建GCC可以成功阻止攻击。

关于漏洞

脆弱性 CVE-2018-16864是在分析了通过调用syslog()将保存数据的应用程序传输到日志的情况后发现的,大量的命令行参数(几兆字节)会导致systemd-journald进程崩溃。

分析表明,通过使用命令行参数处理字符串,可以将受控制的堆栈队列放置在堆栈的开头。

但是,要成功进行攻击,必须绕过内核中使用的堆栈保护页面的保护技术。,其实质是替换限制的内存页。 引发异常(页面错误)。

要在并行“ systemd-journald”中以“竞赛条件”开始绕过此保护”,由于页存储器的输入,留出时间来捕获控制进程崩溃,这是只读的。

在研究第一个漏洞的过程中,又出现了两个问题。

第二个漏洞 CVE-2018-16865可让您创建StackСlash叠加条件 通过将非常大的消息写入文件run / systemd / journal / socket类似。

第三个漏洞 如果您发送带有最后一个“:”字符的系统日志消息,则会显示CVE-2018-16866。

由于字符串解析错误,终止字符串'\ 0'将被丢弃,并且记录将包含'\ 0'之外的缓冲区部分,从而使您可以找到堆栈和mmap的地址。

  • CVE-2018-16864漏洞自2013年203月以来就已经显而易见(它出现在systemd 230中),但仅在2016年XNUMX月更改为systemd XNUMX之后才适合运行。
  • CVE-2018-16865漏洞自2011年38月(系统2013)以来就很明显,并且可以从201年XNUMX月(系统XNUMX)开始运行。
  • CVE-2018-16864和CVE-2018-16865问题已于几个小时前在systemd的master分支中修复。

CVE-2018-16866漏洞于2015年221月(系统2018)出现,并于240年XNUMX月修复(在系统XNUMX中未显示)。

有效漏洞利用程序的发布已被推迟,直到发行版发布补丁为止。

当前,尚未修补的漏洞分布是最受欢迎的,例如Debian,Ubuntu,RHEL,Fedora,SUSE及其衍生版本。


2条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   路易士

    systemd很烂!

  2.   马蒂约

    初始化自由……是的!