** Patch added: "v3: Update after SRU 1:5.0.3-2ubuntu7.1"
   
https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/2080358/+attachment/5853357/+files/v3-0001-apparmor-Provide-valid-AppArmor-profile-for-lxc-c.patch

** Summary changed:

- liblxc-common: AppArmor-Profile for /usr/bin/lxc-copy contains rule for 
lxc-start
+ [SRU] liblxc-common: AppArmor-Profile for /usr/bin/lxc-copy contains rule for 
lxc-start

** Description changed:

  Hi,
  
- liblxc-common 1:5.0.3-2ubuntu7 provides an AppArmor-Profile for 
/usr/bin/lxc-copy, but the profile file contains the rule for 
/usr/bin/lxc-start instead of /usr/bin/lxc-copy.  The mistake was introduced in 
[1], current Debian versions (1:5.0.2-1 and 1:6.0.1-1) are not affected, but 
Ubuntu 24.04 (noble) is.  This
- wrong profile file prevents running lxc-copy on my companies Ubuntu 24.04 
machines.
+ liblxc-common 1:5.0.3-2ubuntu7 provides an AppArmor-Profile for
+ /usr/bin/lxc-copy, but the profile file contains the rule for 
/usr/bin/lxc-start
+ instead of /usr/bin/lxc-copy.  The mistake was introduced in [1] (a typo 
during
+ cherry-picking an upstream commit).  Current Debian versions 
(1:5.0.2-1+deb12u3
+ and 1:6.0.3-1) are not affected, but Ubuntu 24.04 (noble) is.  The mistaken
+ AppArmor profile file prevents running lxc-copy on Ubuntu 24.04 machines.
  
  Can you please replace the 'lxc-start' by 'lxc-copy' in
- /etc/apparmor/usr.bin.lxc-copy or update to Debian's 1:6.0.1-1 or above?
+ /etc/apparmor/usr.bin.lxc-copy (see patch below) or update to Debian's 
1:6.0.1-1
+ or above?
  
  --- SRU Bug Description ---
  
  [ Impact ]
  
-  * lxc-copy is not usable with unprivileged user-namespaces, if unconfined 
-    profiles are restricted in unprivileged user namespaces, example error 
-    messages:
+  * lxc-copy is not usable with unprivileged user-namespaces, if unconfined
+    profiles are restricted in unprivileged user namespaces, example error
+    messages:
  
-     $ sysctl kernel.apparmor_restrict_unprivileged_userns
-     kernel.apparmor_restrict_unprivileged_userns = 1
+     $ sysctl kernel.apparmor_restrict_unprivileged_userns
+     kernel.apparmor_restrict_unprivileged_userns = 1
  
-     (This is the new default, cp. [2].)
+     (This is the new default, cp. [2].)
  
-     $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG
-      lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not 
+     $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG
+      lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not
  permitted - Failed to drop supplimentary groups
-     lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
-     lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
-     lxc-copy: A: ../src/lxc/lxccontainer.c: do_create_container_dir: 1235 No 
such file or directory - Failed to chown rootfs "/home/USER/.local/share/lxc/B"
-     lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not 
permitted - Failed to drop supplimentary groups
-     lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
-     lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
-     lxc-copy: A: ../src/lxc/lxccontainer.c: do_lxcapi_clone: 3878 Error 
chowning /home/USER/.local/share/lxc/B/rootfs to container root
-     lxc-copy: A: ../src/lxc/tools/lxc_copy.c: do_clone: 391 Failed to clone
+     lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
+     lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
+     lxc-copy: A: ../src/lxc/lxccontainer.c: do_create_container_dir: 1235 No 
such file or directory - Failed to chown rootfs "/home/USER/.local/share/lxc/B"
+     lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not 
permitted - Failed to drop supplimentary groups
+     lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
+     lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
+     lxc-copy: A: ../src/lxc/lxccontainer.c: do_lxcapi_clone: 3878 Error 
chowning /home/USER/.local/share/lxc/B/rootfs to container root
+     lxc-copy: A: ../src/lxc/tools/lxc_copy.c: do_clone: 391 Failed to clone
  
-     $ dmesg --follow
-     [  527.199317] audit: type=1400 audit(1731322925.737:177): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4108 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"
-     [  527.202674] audit: type=1400 audit(1731322925.737:178): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4113 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"
+     $ dmesg --follow
+     [  527.199317] audit: type=1400 audit(1731322925.737:177): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4108 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"
+     [  527.202674] audit: type=1400 audit(1731322925.737:178): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4113 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"
  
-  * The upload fixes a typo in lxc-copy's AppArmor profile.  noble's original
-    lxc-copy AA profile actually defines a profile for lxc-start, leaving the
-    lxc-copy to be unconfined.  Due to the change described in [2], the 
handling
-    unconfined AA profiles in user-namespaces prevents the use of `lxc-copy` in
-    noble, if the profile does not get fixed.
- 
+  * The upload fixes a typo in lxc-copy's AppArmor profile.  noble's original
+    lxc-copy AA profile actually defines a profile for lxc-start, leaving the
+    lxc-copy to be unconfined.  Due to the change described in [2], the 
handling
+    unconfined AA profiles in user-namespaces prevents the use of `lxc-copy` in
+    noble, if the profile does not get fixed.
+    Cp. the original upstream commit d51ea224e89f937131342ea71b8010c1c810dcd3 
for 
+    reference.
  
  [ Test Plan ]
  
-  * With sysctl kernel.apparmor_restrict_unprivileged_unconfied=1 and 
-    kernel.apparmor_restrict_unprivileged_userns=1 set, as it is the new Ubuntu
-    default, create an LXC container unprivileged and attempt to copy it:
+  * With sysctl kernel.apparmor_restrict_unprivileged_unconfied=1 and
+    kernel.apparmor_restrict_unprivileged_userns=1 set, as it is the new Ubuntu
+    default, create an LXC container unprivileged and attempt to copy it:
  
-    $ cat > ~/.config/lxc/default.conf << EOF
-    lxc.include = /etc/lxc/default.conf
-    lxc.idmap = u 0 100000 65536
-    lxc.idmap = g 0 100000 65536
-    EOF
-    $ lxc-create --name A -t download -- --dist ubuntu --release noble --arch 
amd64
-    $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG
+    $ cat > ~/.config/lxc/default.conf << EOF
+    lxc.include = /etc/lxc/default.conf
+    lxc.idmap = u 0 100000 65536
+    lxc.idmap = g 0 100000 65536
+    EOF
+    $ lxc-create --name A -t download -- --dist ubuntu --release noble --arch 
amd64
+    $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG
  
-    lxc-copy fails w/o the patch and succeeds when it is applied.
- 
+    lxc-copy fails w/o the patch and succeeds when it is applied.
  
  [ Where problems could occur ]
  
-  * The patch might cause problems on non-default AppArmor configuration, 
-    possibly preventing the use of lxc-copy or lxc-start.
+  * The patch might cause problems on non-default AppArmor configuration,
+    possibly preventing the use of lxc-copy or lxc-start.
  
-  * We tested the patch on roughly two dozen Ubuntu24.04 developer machines 
since 
-    September and could not see problems caused by the patch.
+  * We tested the patch on roughly two dozen Ubuntu24.04 developer machines 
since
+    September and could not see problems caused by the patch.
  
  --- End of SRU Bug Description ---
- 
  
  Thanks and kind regards,
  Nicolas
  
  [1]: https://salsa.debian.org/lxc-
  
team/lxc/-/merge_requests/19/diffs?commit_id=a2ad01ca2081c4dd925037253b01fff0499af17e#d7b13f871dc297c7aa81e98c974db1a24f1b016d_0_21
  
  [2]: Canonical Ubuntu Blog: Restricted unprivileged user namespaces are 
coming to Ubuntu 23.10
-      
https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
- 
- ---
- Description:  Ubuntu 24.04.1 LTS
- Release:      24.04
- liblxc-common:
-   Installed: 1:5.0.3-2ubuntu7
-   Candidate: 1:5.0.3-2ubuntu7
-   Version table:
-  *** 1:5.0.3-2ubuntu7 990
-         990 http://de.archive.ubuntu.com/ubuntu noble/universe amd64 Packages
-         100 /var/lib/dpkg/status
- 
- ProblemType: Bug
- DistroRelease: Ubuntu 24.04
- Package: liblxc-common 1:5.0.3-2ubuntu7
- Uname: Linux 6.10.6 x86_64
- ApportVersion: 2.28.1-0ubuntu3.1
- Architecture: amd64
- CasperMD5CheckResult: pass
- CurrentDesktop: sway
- Date: Wed Sep 11 12:37:23 2024
- InstallationDate: Installed on 2024-08-26 (16 days ago)
- InstallationMedia: Ubuntu 22.04.4 LTS "Jammy Jellyfish" - Release amd64 
(20240220)
- SourcePackage: lxc
- UpgradeStatus: Upgraded to noble on 2024-09-04 (7 days ago)
- modified.conffile..etc.init.d.apport: [modified]
- mtime.conffile..etc.init.d.apport: 2024-07-22T16:59:07
+      
https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces

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

Title:
  [SRU] liblxc-common: AppArmor-Profile for /usr/bin/lxc-copy contains
  rule for lxc-start

Status in lxc package in Ubuntu:
  Fix Released
Status in lxc source package in Noble:
  New
Status in lxc source package in Oracular:
  Fix Released

Bug description:
  Hi,

  liblxc-common 1:5.0.3-2ubuntu7 provides an AppArmor-Profile for
  /usr/bin/lxc-copy, but the profile file contains the rule for 
/usr/bin/lxc-start
  instead of /usr/bin/lxc-copy.  The mistake was introduced in [1] (a typo 
during
  cherry-picking an upstream commit).  Current Debian versions 
(1:5.0.2-1+deb12u3
  and 1:6.0.3-1) are not affected, but Ubuntu 24.04 (noble) is.  The mistaken
  AppArmor profile file prevents running lxc-copy on Ubuntu 24.04 machines.

  Can you please replace the 'lxc-start' by 'lxc-copy' in
  /etc/apparmor/usr.bin.lxc-copy (see patch below) or update to Debian's 
1:6.0.1-1
  or above?

  --- SRU Bug Description ---

  [ Impact ]

   * lxc-copy is not usable with unprivileged user-namespaces, if unconfined
     profiles are restricted in unprivileged user namespaces, example error
     messages:

      $ sysctl kernel.apparmor_restrict_unprivileged_userns
      kernel.apparmor_restrict_unprivileged_userns = 1

      (This is the new default, cp. [2].)

      $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG
       lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not
  permitted - Failed to drop supplimentary groups
      lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
      lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
      lxc-copy: A: ../src/lxc/lxccontainer.c: do_create_container_dir: 1235 No 
such file or directory - Failed to chown rootfs "/home/USER/.local/share/lxc/B"
      lxc-copy: A: ../src/lxc/utils.c: lxc_drop_groups: 1365 Operation not 
permitted - Failed to drop supplimentary groups
      lxc-copy: A: ../src/lxc/conf.c: userns_exec_mapped_root: 5564 Operation 
not permitted - Failed to setresgid(0, 0, 0)
      lxc-copy: A: ../src/lxc/utils.c: wait_exited: 346 Child terminated with 
error 1
      lxc-copy: A: ../src/lxc/lxccontainer.c: do_lxcapi_clone: 3878 Error 
chowning /home/USER/.local/share/lxc/B/rootfs to container root
      lxc-copy: A: ../src/lxc/tools/lxc_copy.c: do_clone: 391 Failed to clone

      $ dmesg --follow
      [  527.199317] audit: type=1400 audit(1731322925.737:177): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4108 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"
      [  527.202674] audit: type=1400 audit(1731322925.737:178): 
apparmor="AUDIT" operation="userns_create" class="namespace" info="Userns 
create - transitioning profile" profile="unconfined" pid=4113 comm="lxc-copy" 
requested="userns_create" target="unprivileged_userns"

   * The upload fixes a typo in lxc-copy's AppArmor profile.  noble's original
     lxc-copy AA profile actually defines a profile for lxc-start, leaving the
     lxc-copy to be unconfined.  Due to the change described in [2], the 
handling
     unconfined AA profiles in user-namespaces prevents the use of `lxc-copy` in
     noble, if the profile does not get fixed.
     Cp. the original upstream commit d51ea224e89f937131342ea71b8010c1c810dcd3 
for 
     reference.

  [ Test Plan ]

   * With sysctl kernel.apparmor_restrict_unprivileged_unconfied=1 and
     kernel.apparmor_restrict_unprivileged_userns=1 set, as it is the new Ubuntu
     default, create an LXC container unprivileged and attempt to copy it:

     $ cat > ~/.config/lxc/default.conf << EOF
     lxc.include = /etc/lxc/default.conf
     lxc.idmap = u 0 100000 65536
     lxc.idmap = g 0 100000 65536
     EOF
     $ lxc-create --name A -t download -- --dist ubuntu --release noble --arch 
amd64
     $ lxc-copy --snapshot -B overlayfs --name A --newname B -l DEBUG

     lxc-copy fails w/o the patch and succeeds when it is applied.

  [ Where problems could occur ]

   * The patch might cause problems on non-default AppArmor configuration,
     possibly preventing the use of lxc-copy or lxc-start.

   * We tested the patch on roughly two dozen Ubuntu24.04 developer machines 
since
     September and could not see problems caused by the patch.

  --- End of SRU Bug Description ---

  Thanks and kind regards,
  Nicolas

  [1]: https://salsa.debian.org/lxc-
  
team/lxc/-/merge_requests/19/diffs?commit_id=a2ad01ca2081c4dd925037253b01fff0499af17e#d7b13f871dc297c7aa81e98c974db1a24f1b016d_0_21

  [2]: Canonical Ubuntu Blog: Restricted unprivileged user namespaces are 
coming to Ubuntu 23.10
       
https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/2080358/+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