diff -Nru snapd-2.35.4/debian/changelog snapd-2.35.5/debian/changelog --- snapd-2.35.4/debian/changelog 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/debian/changelog 2018-10-15 20:23:02.000000000 +0000 @@ -1,3 +1,11 @@ +snapd (2.35.5) xenial; urgency=medium + + * New upstream release, LP: #1786438 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + + -- Michael Vogt Mon, 15 Oct 2018 22:23:02 +0200 + snapd (2.35.4) xenial; urgency=medium * New upstream release, LP: #1786438 diff -Nru snapd-2.35.4/interfaces/builtin/home.go snapd-2.35.5/interfaces/builtin/home.go --- snapd-2.35.4/interfaces/builtin/home.go 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/interfaces/builtin/home.go 2018-10-15 20:23:02.000000000 +0000 @@ -74,6 +74,10 @@ # files; only allow writes to files, not the mount point). owner /run/user/[0-9]*/gvfs/{,**} r, owner /run/user/[0-9]*/gvfs/*/** w, + +# Disallow writes to the well-known directory included in +# the user's PATH on several distributions +audit deny @{HOME}/bin/{,**} wl, ` const homeConnectedPlugAppArmorWithAllRead = ` diff -Nru snapd-2.35.4/interfaces/builtin/home_test.go snapd-2.35.5/interfaces/builtin/home_test.go --- snapd-2.35.4/interfaces/builtin/home_test.go 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/interfaces/builtin/home_test.go 2018-10-15 20:23:02.000000000 +0000 @@ -152,6 +152,7 @@ c.Assert(err, IsNil) c.Assert(apparmorSpec.SecurityTags(), DeepEquals, []string{"snap.other.app"}) c.Check(apparmorSpec.SnippetForTag("snap.other.app"), testutil.Contains, `owner @{HOME}/ r,`) + c.Check(apparmorSpec.SnippetForTag("snap.other.app"), testutil.Contains, `audit deny @{HOME}/bin/{,**} wl,`) c.Check(apparmorSpec.SnippetForTag("snap.other.app"), Not(testutil.Contains), `# Allow non-owner read`) } @@ -172,6 +173,7 @@ err := apparmorSpec.AddConnectedPlug(s.iface, plug, s.slot) c.Assert(err, IsNil) c.Assert(apparmorSpec.SecurityTags(), DeepEquals, []string{"snap.home-plug-snap.app2"}) + c.Check(apparmorSpec.SnippetForTag("snap.home-plug-snap.app2"), testutil.Contains, `audit deny @{HOME}/bin/{,**} wl,`) c.Check(apparmorSpec.SnippetForTag("snap.home-plug-snap.app2"), testutil.Contains, `owner @{HOME}/ r,`) c.Check(apparmorSpec.SnippetForTag("snap.home-plug-snap.app2"), testutil.Contains, `# Allow non-owner read`) } diff -Nru snapd-2.35.4/osutil/overlay.go snapd-2.35.5/osutil/overlay.go --- snapd-2.35.4/osutil/overlay.go 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/osutil/overlay.go 2018-10-15 20:23:02.000000000 +0000 @@ -69,6 +69,16 @@ continue } + if dir == "/media/root-rw/overlay" { + // On the Ubuntu server ephemeral image, '/' is setup via + // overlayroot (on at least 18.10), which uses a combination + // of overlayfs and chroot. This differs from the livecd setup + // so special case the detection logic to look for the known + // upperdir for this configuration, and return the required + // path. See LP: #1797218 for details. + return "/overlay", nil + } + // Make sure trailing slashes are predicatably // missing return dir, nil diff -Nru snapd-2.35.4/osutil/overlay_test.go snapd-2.35.5/osutil/overlay_test.go --- snapd-2.35.4/osutil/overlay_test.go 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/osutil/overlay_test.go 2018-10-15 20:23:02.000000000 +0000 @@ -83,6 +83,10 @@ mountinfo: "31 1 0:26 / / rw,relatime shared:1 - overlay overlay rw,lowerdir=//filesystem.squashfs,upperdir=/cow/bad^upper,workdir=/cow/work", }, { mountinfo: "31 1 0:26 / / rw,relatime shared:1 - overlay overlay rw,lowerdir=//filesystem.squashfs,upperdir=/cow/bad\"upper,workdir=/cow/work", + }, { + // The special cased version for 18.10 server release + mountinfo: "28 0 0:24 / / rw,realtime shared:1 - overlay overlayroot rw,lowerdir=/media/root-ro,upperdir=/media/root-rw/overlay,workdir=/media/root-rw/overlay-workdir/_", + overlay: "/overlay", }} for _, tc := range cases { restore := osutil.MockMountInfo(tc.mountinfo) diff -Nru snapd-2.35.4/packaging/amzn-2/snapd.spec snapd-2.35.5/packaging/amzn-2/snapd.spec --- snapd-2.35.4/packaging/amzn-2/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/amzn-2/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/arch/PKGBUILD snapd-2.35.5/packaging/arch/PKGBUILD --- snapd-2.35.4/packaging/arch/PKGBUILD 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/arch/PKGBUILD 2018-10-15 20:23:02.000000000 +0000 @@ -10,7 +10,7 @@ pkgdesc="Service and tools for management of snap packages." depends=('squashfs-tools' 'libseccomp' 'libsystemd') optdepends=('bash-completion: bash completion support') -pkgver=2.35.4 +pkgver=2.35.5 pkgrel=1 arch=('x86_64') url="https://github.com/snapcore/snapd" diff -Nru snapd-2.35.4/packaging/fedora/snapd.spec snapd-2.35.5/packaging/fedora/snapd.spec --- snapd-2.35.4/packaging/fedora/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/fedora-25/snapd.spec snapd-2.35.5/packaging/fedora-25/snapd.spec --- snapd-2.35.4/packaging/fedora-25/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora-25/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/fedora-26/snapd.spec snapd-2.35.5/packaging/fedora-26/snapd.spec --- snapd-2.35.4/packaging/fedora-26/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora-26/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/fedora-27/snapd.spec snapd-2.35.5/packaging/fedora-27/snapd.spec --- snapd-2.35.4/packaging/fedora-27/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora-27/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/fedora-28/snapd.spec snapd-2.35.5/packaging/fedora-28/snapd.spec --- snapd-2.35.4/packaging/fedora-28/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora-28/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/fedora-rawhide/snapd.spec snapd-2.35.5/packaging/fedora-rawhide/snapd.spec --- snapd-2.35.4/packaging/fedora-rawhide/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/fedora-rawhide/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -96,7 +96,7 @@ %endif Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0%{?dist} Summary: A transactional software package manager Group: System Environment/Base @@ -794,6 +794,11 @@ %endif %changelog +* Mon Oct 15 2018 Michael Vogt +- New upstream release 2.35.5 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + * Fri Oct 05 2018 Michael Vogt - New upstream release 2.35.4 - wrappers: do not depend on network.taget in socket units, tweak diff -Nru snapd-2.35.4/packaging/opensuse/snapd.changes snapd-2.35.5/packaging/opensuse/snapd.changes --- snapd-2.35.4/packaging/opensuse/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse/snapd.spec snapd-2.35.5/packaging/opensuse/snapd.spec --- snapd-2.35.4/packaging/opensuse/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/opensuse-15.0/snapd.changes snapd-2.35.5/packaging/opensuse-15.0/snapd.changes --- snapd-2.35.4/packaging/opensuse-15.0/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-15.0/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse-15.0/snapd.spec snapd-2.35.5/packaging/opensuse-15.0/snapd.spec --- snapd-2.35.4/packaging/opensuse-15.0/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-15.0/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/opensuse-42.1/snapd.changes snapd-2.35.5/packaging/opensuse-42.1/snapd.changes --- snapd-2.35.4/packaging/opensuse-42.1/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.1/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse-42.1/snapd.spec snapd-2.35.5/packaging/opensuse-42.1/snapd.spec --- snapd-2.35.4/packaging/opensuse-42.1/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.1/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/opensuse-42.2/snapd.changes snapd-2.35.5/packaging/opensuse-42.2/snapd.changes --- snapd-2.35.4/packaging/opensuse-42.2/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.2/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse-42.2/snapd.spec snapd-2.35.5/packaging/opensuse-42.2/snapd.spec --- snapd-2.35.4/packaging/opensuse-42.2/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.2/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/opensuse-42.3/snapd.changes snapd-2.35.5/packaging/opensuse-42.3/snapd.changes --- snapd-2.35.4/packaging/opensuse-42.3/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.3/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse-42.3/snapd.spec snapd-2.35.5/packaging/opensuse-42.3/snapd.spec --- snapd-2.35.4/packaging/opensuse-42.3/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-42.3/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/opensuse-tumbleweed/snapd.changes snapd-2.35.5/packaging/opensuse-tumbleweed/snapd.changes --- snapd-2.35.4/packaging/opensuse-tumbleweed/snapd.changes 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-tumbleweed/snapd.changes 2018-10-15 20:23:02.000000000 +0000 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Oct 15 22:23:02 UTC 2018 - mvo@fastmail.fm + +- Update to upstream release 2.35.5 + +------------------------------------------------------------------- Fri Oct 05 14:42:33 UTC 2018 - mvo@fastmail.fm - Update to upstream release 2.35.4 diff -Nru snapd-2.35.4/packaging/opensuse-tumbleweed/snapd.spec snapd-2.35.5/packaging/opensuse-tumbleweed/snapd.spec --- snapd-2.35.4/packaging/opensuse-tumbleweed/snapd.spec 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/opensuse-tumbleweed/snapd.spec 2018-10-15 20:23:02.000000000 +0000 @@ -61,7 +61,7 @@ %global snap_mount_dir /snap Name: snapd -Version: 2.35.4 +Version: 2.35.5 Release: 0 Summary: Tools enabling systems to work with .snap files License: GPL-3.0 diff -Nru snapd-2.35.4/packaging/ubuntu-14.04/changelog snapd-2.35.5/packaging/ubuntu-14.04/changelog --- snapd-2.35.4/packaging/ubuntu-14.04/changelog 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/ubuntu-14.04/changelog 2018-10-15 20:23:02.000000000 +0000 @@ -1,3 +1,11 @@ +snapd (2.35.5~14.04) trusty; urgency=medium + + * New upstream release, LP: #1786438 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + + -- Michael Vogt Mon, 15 Oct 2018 22:23:02 +0200 + snapd (2.35.4~14.04) trusty; urgency=medium * New upstream release, LP: #1786438 diff -Nru snapd-2.35.4/packaging/ubuntu-16.04/changelog snapd-2.35.5/packaging/ubuntu-16.04/changelog --- snapd-2.35.4/packaging/ubuntu-16.04/changelog 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/ubuntu-16.04/changelog 2018-10-15 20:23:02.000000000 +0000 @@ -1,3 +1,11 @@ +snapd (2.35.5) xenial; urgency=medium + + * New upstream release, LP: #1786438 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + + -- Michael Vogt Mon, 15 Oct 2018 22:23:02 +0200 + snapd (2.35.4) xenial; urgency=medium * New upstream release, LP: #1786438 diff -Nru snapd-2.35.4/packaging/ubuntu-16.10/changelog snapd-2.35.5/packaging/ubuntu-16.10/changelog --- snapd-2.35.4/packaging/ubuntu-16.10/changelog 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/ubuntu-16.10/changelog 2018-10-15 20:23:02.000000000 +0000 @@ -1,3 +1,11 @@ +snapd (2.35.5) xenial; urgency=medium + + * New upstream release, LP: #1786438 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + + -- Michael Vogt Mon, 15 Oct 2018 22:23:02 +0200 + snapd (2.35.4) xenial; urgency=medium * New upstream release, LP: #1786438 diff -Nru snapd-2.35.4/packaging/ubuntu-17.04/changelog snapd-2.35.5/packaging/ubuntu-17.04/changelog --- snapd-2.35.4/packaging/ubuntu-17.04/changelog 2018-10-05 12:41:33.000000000 +0000 +++ snapd-2.35.5/packaging/ubuntu-17.04/changelog 2018-10-15 20:23:02.000000000 +0000 @@ -1,3 +1,11 @@ +snapd (2.35.5) xenial; urgency=medium + + * New upstream release, LP: #1786438 + - interfaces/home: don't allow snaps to write to $HOME/bin + - osutil: workaround overlayfs on ubuntu 18.10 + + -- Michael Vogt Mon, 15 Oct 2018 22:23:02 +0200 + snapd (2.35.4) xenial; urgency=medium * New upstream release, LP: #1786438 diff -Nru snapd-2.35.4/tests/regression/lp-1797556/task.yaml snapd-2.35.5/tests/regression/lp-1797556/task.yaml --- snapd-2.35.4/tests/regression/lp-1797556/task.yaml 1970-01-01 00:00:00.000000000 +0000 +++ snapd-2.35.5/tests/regression/lp-1797556/task.yaml 2018-10-15 20:23:02.000000000 +0000 @@ -0,0 +1,28 @@ +summary: snaps cannot write to ~/bin +details: | + On some distributions the ~/bin directory is in the default PATH for the + user. To avoid hijacking commands and allow sandbox escape, writing to this + directory is denied. +prepare: | + #shellcheck source=tests/lib/snaps.sh + . "$TESTSLIB/snaps.sh" + install_local test-snapd-sh + su -l -c 'mkdir -p /home/test/bin/' test + su -l -c 'mkdir -p /home/test/snap/test-snapd-sh/common/' test + su -l -c 'touch /home/test/snap/test-snapd-sh/common/evil-2' test + sysctl -w kernel.printk_ratelimit=0 +restore: | + su -l -c 'rmdir /home/test/bin/ || true' test + sysctl -w kernel.printk_ratelimit=5 +execute: | + test -d /home/test/bin + test ! -e /home/test/bin/evil-1 + test ! -e /home/test/bin/evil-2 + if [ "$(snap debug confinement)" = "strict" ]; then + ! su -l -c 'test-snapd-sh.with-home-plug -c "touch /home/test/bin/evil-1"' test 2>&1 | MATCH '.* Permission denied' + dmesg | grep 'apparmor="DENIED" operation="mknod".* name="/home/test/bin/evil-1"' + ! su -l -c 'test-snapd-sh.with-home-plug -c "ln /home/test/snap/test-snapd-sh/common/evil-2 /home/test/bin/evil-2"' test 2>&1 | MATCH '.* Permission denied' + dmesg | grep 'apparmor="DENIED" operation="link".* name="/home/test/bin/evil-2"' + fi + test ! -e /home/test/bin/evil-1 + test ! -e /home/test/bin/evil-2