他们在内核中检测到一个漏洞,该漏洞可能导致信息被盗

思科Talos研究人员发布 几天前 Linux内核中的一个漏洞,可以利用它来窃取数据 并用作提升特权和损害系统的一种手段。

脆弱性 被描述为“信息泄露漏洞” 这可能会使攻击者看到内核堆栈的内存。

CVE-2020-28588是该漏洞 在ARM设备中发现proc / pid / syscall功能 运行操作系统的32位。 根据Cisco Talos的说法,该问题最早是在运行Azure Sphere的设备上发现的。

Linux Kernel 5.1 Stable和5.4.66的/ proc / pid / syscall功能中存在一个信息泄露漏洞。 更具体地说,此问题已在v5.1-rc4中引入(提交631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0),并在v5.10-rc4中仍然存在,因此所有中间版本都可能受到影响。 攻击者可以读取/ proc / pid / syscall来激活此漏洞,从而导致内核丢失内存内容。

Proc是一个特殊的伪文件系统 在类似Unix的操作系统上 用于动态访问过程数据 在内核中找到。 以类似文件的分层结构显示过程信息和其他系统信息。

例如,它包含子目录/ proc / [pid],每个子目录都包含文件和子目录,这些文件和子目录公开了有关特定进程的信息,这些信息可以通过使用相应的进程ID来读取。 对于“ syscall”文件,它是一个合法的Linux操作系统文件,其中包含内核使用的系统调用的日志。

对于公司,黑客可以利用此漏洞访问操作系统和syscall文件 通过用于在内核数据结构之间进行交互的系统Proc。 如果黑客发出命令来生成24字节未初始化的堆内存,则可能会利用syscall procfs条目,从而绕过内核地址空间布局随机化(KASLR)。

查看此特定功能,一切看起来都很好,但值得注意的是 args传递的参数来自 proc_pid_syscall功能,因此实际上是类型 __u64 args。 在ARM系统中,函数定义将转换 arg八个字节中的四个字节元素组成的数组(自 unsigned long在ARM中为4个字节),这导致 memcpy复制到20个字节中(外加4个字节) args[0]).

同样,对于i386, unsigned long这是4个字节 args写入参数的前24个字节,其余24个字节保持不变。

在这两种情况下,如果我们回顾一下 proc_pid_syscall功能。

在32位ARM和i386中,我们仅在 args数组,格式字符串最终读取48个字节的 args矩阵,因为 %llx在32位和64位系统上,格式字符串为24个字节。 因此,XNUMX字节未初始化的堆内存最终会得到输出,这可能导致KASLR绕过。

研究人员指出 此攻击“不可能在网络上远程检测” 因为它正在从Linux操作系统读取合法文件。 思科说:“如果使用得当,黑客可以利用此信息泄漏来成功利用其他未修补的Linux漏洞。”

对此,谷歌最近表示:

内存安全漏洞通常会威胁到设备的安全性,尤其是应用程序和操作系统的安全性。 例如,谷歌表示,在Linux内核也支持的Android移动操作系统中,谷歌发现2019年解决的安全漏洞中有一半以上是内存安全漏洞的结果。

最后但并非最不重要的 建议更新Linux内核的版本5.10-rc4、5.4.66、5.9.8,因为 此漏洞已经过测试,并确认能够利用以下版本的Linux内核。

最后 如果您有兴趣了解更多信息 关于帖子,您可以在 以下链接。


发表您的评论

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

*

*

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