В исходниках X.Org Server нашли забавный баг, который фактически
делает бессмысленной работу скринсейверов с блокировкой экрана. Любой
скринсейвер с блокировкой экрана, будь то gnome-screensaver,
kscreenlocker, slock, slimlock или другой, выключается сочетанием клавиш
клавиш Ctrl-Alt-* (звёздочка на цифровой клавиатуре).
На самом деле это не совсем баг, а побочный эффект срабатывания
специально задуманной функции PrintDeviceGrabInfo, которая появилась в
результате этого коммита. Он был добавлен в основную ветку в июне 2011 года и присутствует во всех версиях Xorg, начиная с 1.10.99.902.
# grep -Rl xorg-server-1.10.3.901 \ xorg-server-1.10.99.902 \ xorg-server-1.11.3 xorg-server-1.10.99.902/dix/grabs.c xorg-server-1.11.3/dix/grabs.c
Получается, что Ctrl-Alt-* работает на всех системах, где установлен
xorg-server-1.10.99.902 или более свежий, а он в настоящее время
применяется почти во всех вариантах Linux и BSD. Правда, в некоторых
популярных версиях Linux работают более старые версии Xorg, так что они
не подвержены уязвимости. Например, даже в последней версии Ubuntu 11.10
нет такого бага.
На самом деле, это серьёзная уязвимость, потому что блокировкой
экрана люди пользуются не просто так, а чтобы блокировать
несанкционированный доступ в систему во время своего отсутствия. Если же
блокировка снимается так просто, то никакой защиты нет вообще.
Хуже того, наличие такой дыры в течение долгого времени (семь
месяцев) вообще может подорвать доверие к безопасности Linux. А что,
если кто-то знал об этом «волшебном» сочетании клавиш и раньше, и
пользовался своими знаниями?
Сейчас-то, конечно, баг в Xorg быстро закроют, а некоторые
дистрибутивы Linux, не дожидаясь этого, выпустили собственные патчи:
например, Arch Linux выпустил патч вчера днём.
новость скопирована с сайта xakep.ru
|