Disallow executing KDE Partition Manager as root.

Authored by stikonas on Mar 22 2018, 5:39 PM.

Description

Disallow executing KDE Partition Manager as root.

Summary:
Running GUI applications as root is a huge security risk. Especially
the X server is not secured for that. Non-root applications can easily
interact with a root running application and thus try to exploit simple
bugs in either kate/kwrite itself or in the underlying libraries such
as Qt, XLib or xcb.

On Wayland the situation can be considered worse as the compositor is
running as the normal user and is not protected to handle root windows.
It can be rather trivial to attack the root running application from the
compositor through interfaces such as scripting. This is not in the aim
of the compositors to protect against.

This change introduces a check whether the application is started as
root before any interaction with X or Wayland happens, that is prior to
creating the QApplication. If it is detected that we run as root, we
exit and print an information about how to properly edit an application
in kwrite/kate as root. The text is deliberatly not translated to keep
the threat from running as root as low as possible.

See also Differential Revision: https://phabricator.kde.org/D4634