百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

熊孩子乱敲键盘攻破Linux桌面,大神:17年前我就警告过了

ccwgpt 2025-02-21 12:29 65 浏览 0 评论

晓查 萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

Linux系统,居然被两个不懂任何技术的小孩“攻破”了。

他们只是在键盘和屏幕上一通乱按,就轻松绕过密码,进入了被锁定的Linux系统桌面。

最近,一位程序员父亲就这样,眼睁睁地看着自己的电脑被孩子“玩坏”。

作为一名程序员,他首先想到的不是打骂孩子,而是——如何复现漏洞

他发现这个漏洞确实是孩子乱按导致的,在某些特殊按键组合下,Linux的屏幕锁定进程会崩溃,从而绕过了密码。

也就是说,只要有人知道了这个漏洞,无需密码就可以偷偷打开别人已经锁定的Linux电脑。

他将情况反馈到官方GitHub上,最终这个奇怪的漏洞上周被正式修复了。

但这并不能让程序员们放心,这些年因Linux桌面进程崩溃导致的安全漏洞层出不穷,屡见不鲜,你永远不知道下一个bug会是什么。

孩子们“乱杀”的桌面系统漏洞

这两个小孩,是怎么“发现”这一漏洞的呢?

这位程序员父亲将自己的电脑锁定后,孩子们试图解锁它,就开始在电脑键盘上瞎打。

△ 大致是这个画风

突然,屏保界面消失,孩子们成功进入了Linux系统。

什么?连密码都没有输入?

他让他们再演示一次。这次,孩子们同样做到了,但依旧只是“乱敲”键盘而已。


太奇怪了。

他在两个小孩离开后,自己又悄悄地试了一下,没能成功。

不过他认为,这肯定是个漏洞,因为已经亲眼见过两次了。

这位程序员父亲所用的桌面系统是Cinnamon(Linux桌面环境之一),他推测,Cinnamon是不是有什么奇怪的bug,在不输入密码的情况下也能解锁桌面。

当天晚上10点半,他在Linux Mint的GitHub页面上反馈了这一bug,并描述了孩子们敲击键盘的场景:

他们同时按下了物理键盘和屏幕虚拟键盘,而且,尽量多按一些虚拟键盘。

消息一出,马上就有网友表示,自己同样遇到了这种问题,而且用的桌面系统也是Cinnamon。

随后,Linux Mint程序员火速赶往现场。

检查后发现,这的确是一个bug,而且Cinnamon 4.2以上的桌面系统,都会受到影响,因为这一版开始支持屏幕虚拟键盘了。

导致这个bug的具体行为是:长按“e”键,并在虚拟键盘上选中“ē”

现在,Linux Mint已经为这个漏洞推出了一个新补丁,不过需要自己手动安装。

人生苦短,不如用KDE(手动狗头)

大神:17年前我就警告过他们

对于如此荒谬而简单的漏洞,自然引起各路程序员对Linux桌面的吐槽。

关于这个问题的GitHub issue页面都被程序员们玩坏了。

有人说:这个CVE应该归功于孩子们…

还有人在回帖中发个表情包:我想程序员们应该会这样复现bug。

但要论吐槽最狠的,还是著名程序员大神jwz

今天凌晨,这位大神又双叒叕发了一篇文章来吐槽此事,标题是《我已经告诉过你们之2021版》

因为早在17年前,他就警告过Cinnamon和GNOME官方:

如果没有在Linux上运行XScreenSaver,那么可以你的屏幕就相当于没有锁定。

之后每隔几年,jwz都会出来把这段话再说一遍。

jwz还调侃说:“翻车”一次是偶然,两次是巧合,三次是敌人的破坏,四次是GNOME官方。

而这四次安全漏洞,jwz都有详细的记录:

  • CVE-2019-3010,从Oracle Solaris屏幕保护程序可以获得特殊权限升级;
  • CVE-2014-1949, MDVSA-2015:162:在Cinnamon屏幕保护程序中按菜单键,再按ESC键,就可以进入shell;
  • 按住向下键,解锁Cinnamon屏幕保护程序;
  • 按住回车键,解锁GNOME屏幕保护程序。

修bug引发的新漏洞

导致Linux Mint漏洞是由于3月前修复另一个bug引起的。

这个漏洞存在于Linux显示服务xorg-x11-server中,其最大威胁是对数据机密性和完整性以及系统可用性的威胁。

更让人哭笑不得的是,Ubuntu 20.04在向后移植xorg的时候,由于使用了没有该bug的1.20.9版,反而逃过一劫。

当Ubuntu的开发人员意识到没有打上CVE-2020-25712补丁后,他们又中了新的漏洞。

结果就是,xorg更新修复以后,任何人都可以让屏幕锁定程序崩溃,然后进入桌面。

无独有偶,这不禁让人想起GNOME两个月前的另一个“低级”漏洞。

一位程序员通过将账户服务陷入无限循环,使GNOME的账户守护程序崩溃。之后就能在锁定界面添加新的sudo用户,并获取root权限。

这个锅该让GNOME来背吗?jwz认为,归根结底是因为现在的Linux图形化界面根基X11存在着不可修复的严重问题:

1、锁定和身份验证是操作系统级别的问题。

尽管X11是Linux计算机操作系统的核心,但它的设计没有安全性可言,锁定程序必须以普通的、非特权的用户级应用程序一样运行。

2、X11体系结构的这一错误永远无法修复。

X11太旧、太僵化,并且有太多利益相关者无法对它进行任何有意义的更改。这就是为什么人们不断尝试替换X11的原因并失败了,因为它根深蒂固。

虽然现在有Wayland作为X11的替代品,但仍有网友替换为Wayland后,Ubuntu桌面依然存在某些缺陷。

比如唤醒电脑后,会在原来的桌面停留10~20秒才能进入锁屏状态,这个过程中桌面的隐私会一览无余。

鉴于Linux桌面的安全性问题漏洞百出,为了防止未被发现漏洞遭利用,有用户建议先安装XSecureLock,多上一把锁。

我热切期待着听到他们如何解决这个问题。

jwz在自己的博客里如是说。

参考链接:

https://github.com/linuxmint/cinnamon-screensaver/issues/354


https://www.zdnet.com/article/linux-mint-fixes-screensaver-bypass-discovered-by-two-kids/


https://web.archive.org/web/20210116101222/https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关推荐

MFC、Qt、WPF?该用哪个?(mfc和wpf区别)

MFC、Qt和WPF都是流行的框架和工具,用于开发图形用户界面(GUI)应用程序。选择哪个框架取决于你的具体需求和偏好。MFC(MicrosoftFoundationClass)是微软提供的框架,...

一款WPF开发的通讯调试神器(支持Modbus RTU、MQTT调试)

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍Wu.CommTool是一个基于C#、WPF、Prism、MaterialDesign...

关于面试资深C#、WPF开发工程师的面试流程和问题

一、开场(2-3分钟)1.欢迎应聘者,简单介绍公司和面试流程。2.询问应聘者是否对公司或岗位有初步的问题。二、项目经验与技术应用(10-20分钟)1.让应聘者详细介绍几个他参与过的C#、...

C# WPF MVVM模式Prism框架下事件发布与订阅

01—前言处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Prism提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行...

WPF 机械类组件动画制作流程简述(wps上怎么画机械结构简图)

WPF机械类组件动画制作流程简述独立观察员2025年3月4日一、创建组件创建组件用户控件,将组件的各部分“零件”(图片)拼装在一起,形成组件的默认状态:二、给运动部分加上Rend...

C#上位机WinForm和WPF选哪个?工控老油条的"血泪史"

作为一个从互联网卷进工控坑的"跨界难民",在这会摸鱼的时间咱就扯一下上位机开发选框架这档子破事。当年我抱着WPF的酷炫动画一头扎进车间,结果被产线老师傅一句"你这花里胡哨的玩意...

【一文扫盲】WPF、Winform、Electron有什么区别?

近年来,随着软件开发的不断发展,开发人员面临着选择适合他们项目的各种框架和工具的挑战。在桌面应用程序开发领域,WPF、Winform和Electron是三个备受关注的技术。本文将介绍这三者的区别,帮助...

一个开源、免费、强大且美观的WPF控件库

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍HandyControl是一套基于WPF(WindowsPresentationF...

WPF 根据系统主题自动切换浅色与深色模式

WPF根据系统主题自动切换浅色与深色模式控件名:Resources作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopers...

WPF与WinForm的本质区别(wpf与maui)

在Windows应用程序开发中,WinForm和WPF是两种主要的技术框架。它们各自有不同的设计理念、渲染机制和开发模式。本文将详细探讨WPF与WinForm的本质区别,并通过示例进行说明。渲染机制W...

Win10/Win11效率神器再进化:微软发布PowerToys 0.90.0版本

IT之家4月1日消息,微软今天(4月1日)更新PowerToys,在最新发布的0.90.0版本中,修复多个BUG之外,引入多项功能更新,为Windows10、Windows...

一款非常漂亮的WPF管理系统(wpf架构及特性)

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!WPFManager项目介绍该项目是一款WPF开发的管理系统,数据库采用的MSSqlserv...

WPF 实现描点导航(wpf按钮的点击事件)

WPF实现描点导航控件名:NavScrollPanel作者:WPFDevelopersOrg-驚鏵原文链接[1]:https://github.com/WPFDevelopersOrg/WPF...

微软更新基于Win11的Validation OS 2504:增强 .NET与WPF

IT之家5月1日消息,科技媒体NeoWin今天(5月1日)发布博文,报道称微软公司更新基于Windows11的ValidationOS,增强支持.NET和WPF,并优...

WPF的技术架构与优势(wpf的前景)

WindowsPresentationFoundation(WPF)是一个现代化的用户界面框架,专为构建Windows应用程序而设计。它通过分层的技术架构和丰富的功能集,提供了全面的应用程...

取消回复欢迎 发表评论: