Linux 内核的 AF_PACKET 套接字实现中的漏洞

漏洞浪潮三年后(1, 2, 3, 4, 5) 在Linux内核的AF_PACKET子系统中 已确定 还有一个问题(CVE-2020-14386),允许本地非特权用户以 root 身份执行代码或退出隔离容器(如果他们具有 root 访问权限)。

创建 AF_PACKET 套接字并利用该漏洞需要 CAP_NET_RAW 权限。 但是,在启用了用户命名空间支持的系统上创建的容器中,非特权用户可以获取指定的权限。 例如,用户命名空间在 Ubuntu 和 Fedora 上默认启用,但在 Debian 和 RHEL 上未启用。 在Android上,mediaserver进程有权创建AF_PACKET套接字,通过该套接字可以利用该漏洞。

该漏洞存在于 tpacket_rcv 函数中,是由 netoff 变量计算错误引起的。 攻击者可以创建条件,将 netoff 变量写入小于 maclen 变量的值,这将在计算“macoff = netoff - maclen”时导致溢出,并随后错误地将指针设置为传入数据的缓冲区。 因此,攻击者可以向分配的缓冲区边界之外的区域写入 1 到 10 个字节。 值得注意的是,一个漏洞正在开发中,它可以让您获得系统的 root 权限。

该问题自 2008 年 XNUMX 月以来一直存在于内核中,即体现在所有实际的原子核中。 该修复目前可用 修补。 您可以在以下页面上跟踪发行版中软件包更新的可用性: Ubuntu, Fedora, SUSE, Debian, RHEL, .

来源: opennet.ru

添加评论