We have moved to a new Sailfish OS Forum. Please start new discussions there.
16

[fixed in 1.0.3.8] fingerterm runs with elevated privileges (EGID != GID) [answered]

asked 2014-01-04 12:01:50 +0300

hlub gravatar image

updated 2014-02-02 00:58:24 +0300

Typing id in fingerterm reveals that it (and its shell) runs with gid=100000 (nemo) but egid=998 (privileged)

Now this seems to be the norm for most apps (mail, weather) but I think it is not a good idea for a command shell to start with (albeit slightly) elevated privileges

Moreover, perl notices the fact and switches to tainted mode, becoming too paranoid to be usable: (Insecure $ENV{PATH} while running setgid)

I found a solution, adapting (or cloning) /usr/share/applications/fingerterm.desktop to make it run a tiny script:

#!/bin/zsh # sorry, zsh user here...

EGID=$GID # drop elevated privileges (may not work in bash?)
cd # solve the "starting in root directory" problem while we're at it
exec fingerterm

This works, but I think this should be fixed by Jolla eventually

The question has been closed for the following reason "the question is answered, an answer was accepted" by hlub
close date 2014-02-02 01:05:19.136709

Comments

In an ssh connection:

[nemo@localhost ~]$ id
uid=100000(nemo) gid=100000(nemo) groups=39(video),100(users),994(alien),995(ssu),996(timed),999(oneshot),1000(system),1002(bluetooth),1003(graphics),1004(input),1005(audio),1006(camera),1024(mtp),100000(nemo)

so what's the need for egid=998?

jsiren ( 2014-01-04 12:05:19 +0300 )

@jsiren: When using ssh the problem doesn't arise: then egid=gid. But apparently most apps (including fingerterm) are started with an EGID=998, which may be useful for them, but is unnecessary for a command shell.

hlub ( 2014-01-04 12:10:16 +0300 )
add a comment

2 Answers

Sort by » oldest newest most voted
0

answered 2014-01-04 20:16:20 +0300

Milo gravatar image

updated 2014-01-05 01:54:14 +0300

If you start the fingerterm from ssh, then EGID==GID. The issue is with the /usr/bin/invoker, which is used to launch applications from the app-page.

link

Comments

2

Eventually it is the booster commands (rather than invoker) that have their setgid bits set. A wrapper script probably defeats the purpose of the booster (pre-loading shared resources) - it's up to Jolla how to solve this.

hlub ( 2014-01-05 01:28:47 +0300 )
add a comment
0

answered 2014-02-02 00:59:31 +0300

hlub gravatar image

This issue has been fixed in 1.0.3.8 (Naamankajärvi)

link
add a comment

Question tools

Follow
4 followers

Stats

Asked: 2014-01-04 12:01:50 +0300

Seen: 420 times

Last updated: Feb 02 '14