Just noticed the PID tree trace didn't match on the Group: from
proc/$PID/status. Here's the corrected output.

$ pid=$BASHPID; while [[ $pid -ne 0 ]]; do ids=$(grep
'^\(.*id:\|Group\)' /proc/$pid/status); echo -e "cmdline: $(cat
/proc/$pid/cmdline) \n $ids" 2>/dev/null; pid=$(echo $ids | awk '{print
$8}'); done

cmdline: -bash 
 Tgid:  3610
Ngid:   0
Pid:    3610
PPid:   3548
TracerPid:      0
Uid:    1000    1000    1000    1000
Gid:    1000    1000    1000    1000
Groups:  
NStgid: 3610
NSpid:  3610
NSpgid: 3610
NSsid:  3610

cmdline: tmux 
 Tgid:  3548
Ngid:   0
Pid:    3548
PPid:   1
TracerPid:      0
Uid:    1000    1000    1000    1000
Gid:    1000    1000    1000    1000
Groups:  
NStgid: 3548
NSpid:  3548
NSpgid: 3548
NSsid:  3548

cmdline: /sbin/init 
 Tgid:  1
Ngid:   0
Pid:    1
PPid:   0
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
Groups:  
NStgid: 1
NSpid:  1
NSpgid: 1
NSsid:  1

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to policykit-1 in Ubuntu.
https://bugs.launchpad.net/bugs/1784964

Title:
  Regression due to CVE-2018-1116 (processes not inheriting user's
  groups )

Status in policykit-1 package in Ubuntu:
  Confirmed

Bug description:
  This report is tracking a possible regression caused by the recent
  CVE-2018-1116 patches to policykit-1.

  On 18.04, since package upgrades on July 23rd, and after the first
  reboot since then on Aug 1st, I hit an issue with the primary (sudo,
  adm, etc...) user getting Permission Denied trying to do:

  tail -f /var/log/syslog

  when that file is owned by syslog:adm and is g=r.

  I then found that "groups" reports only the $USER and not the entire
  list, but "groups $USER" reports all the groups correctly.

  The user shell is set to /usr/bin/tmux and /etc/tmux.conf has "set -g
  default-shell /bin/bash"

  After changing the user's shell back to /bin/bash and logging in on
  tty1 the list of groups shows correctly for the /bin/bash process
  running on tty1.

  I investigated and found that for the affected processes, such as the
  tmux process, /proc/$PID/loginuid = 4294967295  whereas the /bin/bash
  process on tty1 correctly reported 1000. The same with the respective
  gid_map and uid_map.

  4294967295 == -1 == 0xFFFFFFFF

  The recent CVE patch to policykit has several functions where it does
  "uid = -1" which seems to tie in to my findings so far.

  I also noticed Ubuntu is still based on version 0.105 which was
  released in 2012 - upstream released 0.115 with the CVE patch.

  I suspect the backporting has missed something.

  The Ubuntu backport patch is:

  https://git.launchpad.net/ubuntu/+source/policykit-1/commit/?h=applied/ubuntu
  /bionic-devel&id=840c50182f5ab1ba28c1d20cce4c207364852935

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/policykit-1/+bug/1784964/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to