“熊孩子”亂敲鍵盤就攻破了Linux桌面,大神:17年前我就警告過你們

作者丨曉查 蕭簫

來源丨量子位

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/

本文分享自微信公衆號 - 架構真經(gentoo666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章