[Bug 2071478] Re: Add sys_admin capability to apparmor profile by default

Andreas Hasenack 2071478 at bugs.launchpad.net
Thu Aug 22 16:51:26 UTC 2024


Thanks for the verification Lena, could you please confirm if the test
plan execution from comment #6 was executed with the swtpm version from
proposed? I can see that the proposed pocket was added, but given the
default pinning it has nowadays (which makes it lower prio than updates
or release), I can't tell if the actual package from proposed was
installed. I suspect it was, because the test worked, and wasn't working
before, but a quick confirmation would be ideal.

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

Title:
  Add sys_admin capability to apparmor profile by default

Status in swtpm package in Ubuntu:
  Fix Released
Status in swtpm source package in Jammy:
  Fix Committed
Status in swtpm source package in Mantic:
  Won't Fix
Status in swtpm source package in Noble:
  Fix Released
Status in swtpm source package in Oracular:
  Fix Released

Bug description:
  [Impact]

  The default apparmor profile for swtpm blocks access to kernel
  modules, which causes a failure when using the --vtpm-proxy argument,
  since it requires tpm_vtpm_proxy.

  The fix for this should be backported so the vtpm-proxy works for
  users by default.

  The issue is fixed by adding the sys_admin capability, which gives
  swtpm access to the required kernel modules

  [Test Plan]

  $ sudo apt update && sudo apt dist-upgrade -y
  $ sudo apt install swtpm apparmor -y

  $ mkdir /tmp/myvtpm

  # Before fix
  $ sudo modprobe tpm_vtpm_proxy
  $ sudo swtpm chardev --vtpm-proxy --tpmstate dir=/tmp/myvtpm --tpm2 --ctrl type=tcp,port=2322
  swtpm: Ioctl to create vtpm proxy failed: Operation not permitted

  # After fix
  $ sudo modprobe tpm_vtpm_proxy
  $ sudo swtpm chardev --vtpm-proxy --tpmstate dir=/tmp/myvtpm --tpm2 --ctrl type=tcp,port=2322
  New TPM device: /dev/tpm1 (major/minor = 253/1)

  [Where problems could occur]

  This change will allow swtpm to access various kernel modules by
  default. So if malicious code were to exist within swtpm, then it
  would have far greater access when running with super user
  permissions.

  Likewise, with a change to the apparmor profile, a conflict will occur
  on update for users that modified their profile directly.

  [Other Info]
   
  The issue was fixed in oracular in 0.7.3-0ubuntu7.

  [Original Description]

  Based on the upstream discussion here -
  https://github.com/stefanberger/swtpm/discussions/866 - certain
  features of swtpm require access to kernel modules to work. For
  example, using --vtpm-proxy requires the tpm_vtpm_proxy module. This
  should work by default, and is fixed by adding capability sys_admin to
  the apparmor profile.

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




More information about the foundations-bugs mailing list