Kate i KWrite nie dla roota
Chyba nikogo nie trzeba przekonywać o tym, że uruchamianie graficznych narzędzi jako użytkownik root jest niefrasobliwe. Jednak stając przed konieczności edytowania pliku z prawami roota zwykle ignorujemy to zalecenie. I dlatego Martin Gräßlin postanowił przypomnieć o tym niuansie w dość kategoryczny sposób. Zgłoszone przez niego poprawki do edytorów tekstowych Kate i KWrite powodują, że nie uruchomimy ich jako root.
Przesłanki stojące za taką zmianą wydają się być słuszne. Zamiast ciągle przypominać o tej zasadzie, Martin wprowadził do kodu warunek sprawdzający z jakimi uprawnieniami próbujemy użytkować programu. Jeżeli będzie to root, to Kate i KWrite odmówią współpracy, edukując jednak nas o praktyczności wykorzystania sudoedit. Dzięki niemu program którym będziemy edytowali plik tekstowy zostanie uruchomiony z prawami naszego użytkownika. Zmiany zostaną wprowadzone dopiero po zamknięciu edytora (sudoedit pracuje na lokalnej kopii pliku, po zamknięciu naszego programu kopiuje ten plik na właściwe miejsce i z odpowiednimi uprawnieniami).
Jak Martin argumentuje taki krok? Głównie tym, że nawet twórcy bibliotek Qt nie chcą wziąć odpowiedzialności za uruchomiony z prawami roota tak rozległy kod jakim jest Qt. Na dodatek uruchamiany w otoczeniu X11, które bezpieczeństwem nie grzeszy. Sam program korzystający z Qt, po starcie ma do czynienia również z xcb, Xlib, OpenGL, xkbcommon, itp. Wywołanie aplikacji z wykorzystaniem Setuid jest najgorszym z możliwych pomysłów. Na poparcie swoich słów przytacza swój proof of concept, gdy zaszył w Dolphinie prosty atak na naszą maszynę. Wystarczyło odpalić Dolphina jako root, by otworzony został terminal z prawami roota, gdzie „wirus” wpisywał swoje polecenia.
Zmian należy oczekiwać w najbliższym wydaniu środowiska KDE Plasma 5.