[Bug 2027581] Re: useradd grants root privileges to admin user

Oliver Grawert 2027581 at bugs.launchpad.net
Thu Jul 13 08:47:25 UTC 2023


On UbuntuCore the default user added by console-conf is automatically
granted passwordless sudo.

the /etc/group file is on a readonly filesystem and contains the sudo
group, this usually prevents you from accidentially adding extra sudo
users (UbuntuCore exclusively uses /var/lib/extrausers for addtional
users and snapd (being the management authority) normally creates
snippets in /etc/sudoers.d on a per user basis)

in earlier UbuntuCore releases the admin group still existed in the
readonly /etc/group so adding such a user would have been prevented by
the readonly state of the file.

now you can unconditionally create such a user and automatically get
sudo privs without having to go through a system-user assertion managed
by snapd (which is the only process that can create snippets in
/etc/sudoers.d on these systems)

if not considered a security hole (due to the fact that you can
circumvent the documented locked down user creation process via system-
user-assertions for this type of systems) this is at least a heavy
inconsistency ... we should either add an admin group to the core snaps
readonly /etc/group or wipe the admin line from sudoers so we match the
documented behavior.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/2027581

Title:
  useradd grants root privileges to admin user

Status in sudo package in Ubuntu:
  New

Bug description:
  Hi,

  As part of the Ubuntu Core 20, if a developer creates a user named
  either admin or Admin, it will have  root privileges by default. I
  think that this is a security issue but it requires input from the
  security engineers/specialists.

  Basically, if you look at the sudoers file under `/etc/sudoers`, you
  will realize the following line;

  ```
  # Members of the admin group may gain root privileges
  %admin ALL=(ALL) ALL
  ```

  And if someone creates a user by using admin as name, the system
  provide root privilege.

  ```
  sudo useradd -s /bin/bash -u 8003 -d /home/Admin --extrausers Admin
  iotuc at ubuntu:~$ su Admin
  Password:
  Admin at ubuntu:/home/iotuc$ cat /etc/sudoers
  cat: /etc/sudoers: Permission denied
  Admin at ubuntu:/home/iotuc$ sudo cat /etc/sudoers
  [sudo] password for Admin:
  #
  # This file MUST be edited with the 'visudo' command as root.
  #
  # Please consider adding local content in /etc/sudoers.d/ instead of
  # directly modifying this file.
  #
  # See the man page for details on how to write a sudoers file.
  #
  Defaults    env_reset
  Defaults    mail_badpass
  Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
  # Host alias specification
  # User alias specification
  # Cmnd alias specification
  # User privilege specification
  root    ALL=(ALL:ALL) ALL
  # Members of the admin group may gain root privileges
  %admin ALL=(ALL) ALL
  # Allow members of group sudo to execute any command
  %sudo    ALL=(ALL:ALL) ALL
  # See sudoers(5) for more information on "#include" directives:
  #includedir /etc/sudoers.d
  Admin at ubuntu:/home/iotuc$
  ```

  Similarly, if I create a username called aydogar, it does not have
  root privilege and this is expected.

  ```
  sudo useradd -s /bin/bash -u 8004 -d /home/aydogar --extrausers aydogar
  iotuc at ubuntu:~$ su aydogar
  Password:
  aydogar at ubuntu:/home/iotuc$ cat /etc/sudoers
  cat: /etc/sudoers: Permission denied
  aydogar at ubuntu:/home/iotuc$ sudo cat /etc/sudoers
  [sudo] password for aydogar:
  aydogar is not in the sudoers file.  This incident will be reported.
  aydogar at ubuntu:/home/iotuc$
  ```

  I think, this is a bug but would love here other ideas and inputs.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/2027581/+subscriptions




More information about the foundations-bugs mailing list