Linux Mint 项目已于近日修复了一个安全漏洞,该漏洞可能允许威胁参与者绕过操作系统的屏幕保护程序及其密码并访问锁定的桌面。
漏洞最初由一位昵称为 robo2bobo 的用户在 Linux Mint 的 bug 报告 中提出。robo2bobo 用的桌面系统是 Cinnamon,他表示,自己两个没有任何技术背景的孩子在键盘和屏幕上乱按一通后,就导致了 Linux Mint 屏保程序崩溃;从而轻松绕过了安全密码,进入了被锁定的 Linux 系统桌面。
并且他还进行了复现,证明这不是一个偶然事件,“我以为这是一个独特的事件,但他们成功地做了第二次”。该 bug 一经提出,就引起了不少用户的同感;他们反馈自己遇到了同样的问题,并且用的桌面系统也是 Cinnamon。据悉,Cinnamon 4.2 以上的桌面系统,都会受到此 bug 的影响。
对此,Linux Mint 首席开发者 Clement Lefebvre 称,这个问题最终被追踪到 libcaribou,即 Linux Mint 使用的桌面界面 Cinnamon 所附带的屏幕键盘(OSK)组件。具体地说, 当用户按下屏幕键盘上的 "ē "键时,就会出现这个 bug 。
大多数情况下,这个 bug 应该会导致 Cinnamon 桌面进程崩溃;但如果在屏保程序下打开软键盘,该 bug 则会引发屏保崩溃,使用户可访问底层桌面。Lefebvre 表示,该漏洞是在 Linux Mint OS 于去年 10 月修补另一个漏洞(称为 CVE-2020-25712)时引入的。目前,Linux Mint 已经为这个漏洞推出了一个新补丁。
然而,事情到这里还不算结束。著名的程序员大神 JWZ 针对此事件专门发布了 一篇名为“I told you so, 2021 edition ”的文章 吐槽称, 自己早在 17 年前(2004 年)就警告过了官方。“如果没有在 Linux 上运行 XScreenSaver,那么可以你的屏幕就相当于没有锁定。”
JWZ 指出,后来每隔几年他都会遇到此类 bug;然而每次当他反馈这个问题时,Linux Mint 方面都回复称“已经修复了”。他对相关的四次安全漏洞进行了记录,具体如下:
- CVE-2019-3010,从 Oracle Solaris 屏幕保护程序可以获得特殊权限升级;
- CVE-2014-1949, MDVSA-2015:162: 在 Cinnamon 屏幕保护程序中按菜单键,再按 ESC 键,就可以进入 shell;
- 按住向下键,解锁 Cinnamon 屏幕保护程序;
- 按住回车键,解锁 GNOME 屏幕保护程序。
JWZ 认为,出现这一 bug 的原因有几个:
- 一是编写安全关键型代码很难,大多数人都做不到。
- 二是锁定和认证是一个操作系统级别的问题。而 X11 是 Linux 桌面计算机操作系统的核心,但它的设计没有任何安全性可言,因此锁定程序必须作为正常的、无权限的、用户级的应用程序运行。这样一来,问题就更难解决了。
- 还有就是 X11 架构存在着不可修复的严重问题。“X11 太老了、太僵化了,而且有太多的利益相关者陷入了泥潭,永远不可能再对它进行任何有意义的改变。这就是为什么人们一直在试图取代 X11 但却失败了,因为它太根深蒂固了。”
在文章的最后,JWZ 还表示,自己很迫切的想知道官方会如何解决这个问题。
紧接着,就有网友将 JWZ 的这一文章链接发布在了 Linux Mint 的 bug 报告下,并艾特了相关的官方人员,从而引来了 Lefebvre 的回复。对此,Lefebvre 丝毫不客气的 表示 , JWZ 的博文令人痛苦、没有丝毫建设性,还包含了一些废话;他虽然提出了问题,但没有给出任何解决方案。
同时,Lefebvre 也就 JWZ 提出的批评逐一进行了反驳。并喊话称,希望 JWZ 不要做一个只会口嗨的人,毕竟漂亮话谁都会说。与其这样,还不如双方携手共建一条最安全的道路;一起加入到代码审计和功能开发中来,做个能解决问题的人。
“比起一篇愚蠢的'I-told-u-so'博文,我更愿意接受您对 light-locker 的审核。不要苦恼,要成为解决方案的一部分。”