安全研究人员在Canonical的snapd软件包中发现了一个漏洞,可利用该漏洞获得管理员权限和root用户访问受影响的Linux系统。安全问题被称为Dirty_Sock,漏洞编号为CVE-2019-7304。
Chris Moberly在snapd API中发现了一个权限提升漏洞。默认情况下,它安装在Ubuntu中 - 在此基础上测试了概念证明,并且“100%的时间都在Ubuntu服务器和桌面的新安装默认安装上” - 但也可能出现在许多其他Linux发行版中。
Ubuntu CVE Tracker将漏洞描述为:“snapd 2.28到2.37在UNIX套接字上执行访问控制时错误地验证并解析了远程套接字地址。本地攻击者可以使用它来访问特权套接字API并获得管理员权限”。
Moberly在1月份发现了安全漏洞并将其报告给了快速开发修复程序的snapd团队,但未修补的系统仍处于危险之中。他解释了他的发现:
snapd提供附加到本地UNIX_AF套接字的REST API。通过查询与该套接字的任何连接相关联的UID来完成对受限API函数的访问控制。在for循环中进行字符串解析期间,可能会影响用户控制的套接字对等数据以覆盖UID变量。这允许任何用户访问任何API函数。
通过访问API,有多种方法可以获取root。
他提供了两个可能的漏洞利用路径,dirty_sockv1(“使用'创建用户'API根据从Ubuntu SSO查询的详细信息创建本地用户”)和dirty_sockv2(其中包含一个包含安装挂钩的快照,生成一个新的本地用户“)。
在有关解决该问题的更新的帖子中,Canonical说:
Chris Moberly发现snapd版本2.28到2.37在UNIX套接字上执行访问控制时错误地验证并解析了远程套接字地址。本地攻击者可以使用它来访问特权套接字API并获取管理员权限。在安装了快照的Ubuntu系统上,snapd通常已经自动刷新为snapd 2.37.1,它不受影响。
Moberly赞扬了他对漏洞报道的回应,他说:“snapd团队对披露的反应迅速而恰当。直接与他们合作非常愉快,我非常感谢他们的辛勤工作和善良。真的,这种互动让我觉得自己是一个Ubuntu用户感觉很好“。