2020-04-30 08:19:07 |
Alex Murray |
bug |
|
|
added bug |
2020-05-20 10:51:47 |
Alex Murray |
summary |
SRU: Backport 2.4.3-1ubuntu1 from focal to eoan/bionic/xenial for newer syscalls for core20 base |
SRU: Backport 2.4.3-1ubuntu2 from groovy to focal/eoan/bionic/xenial for newer syscalls for core20 base |
|
2020-05-20 11:09:58 |
Alex Murray |
description |
Placeholder to start preparing SRU for https://github.com/snapcore/core20/issues/48 |
[Impact]
snap-confine from snapd uses libseccomp to filter various system calls for confinement. The current version in eoan/bionic/xenial (2.4.1) is missing knowledge of various system calls for various architectures. As such this causes strange issues like python snaps segfaulting (https://github.com/snapcore/core20/issues/48) or the inadvertent denial of system calls which should be permitted by the base policy (https://forum.snapcraft.io/t/getrlimit-blocked-by-seccomp-on-focal-arm64/17237).
libseccomp in groovy is using the latest upstream base release (2.4.3) plus it includes a patch to add some missing aarch64 system calls (https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1877633).
SRUing this version back to older stable releases allows libseccomp to operate correctly on all supported architectures.
[Test Case]
libseccomp includes a significant unit test suite that is run during the build and as part of autopkgtests. To verify the new aarch64 system calls are resolved as expected the scmp_sys_resolver command can be used as well:
$ scmp_sys_resolver -a aarch64 getrlimit
163
(whereas in the current version in focal this returns -10180 as libseccomp was not aware of this system-call at compile-time).
As part of this SRU, the test suite in libseccomp has been patched to include a local copy of the architecture-specific kernel headers from the 5.4 kernel in focal *for all releases*, so that all system calls which are defined for the 5.4 kernel are known about *for the libseccomp test suite*. This allows all unit tests to pass on older releases as well and defaults the build to fail on unit test failures (whereas currently in xenial this has been overridden to ignore failures).
[Regression Potential]
This has a low regression potential due to significant testing with many packages that depend on libseccomp (lxc, qemu, snapd, apt, man etc) and none have shown any regression using this new version.
Any possible regressions may include applications now seeing correct system call resolution whereas previously this would have failed, and so perhaps previous failures (which were erroneous) will now be permitted. However, this was always permitted previously by the policy anyway but just denied due to this bug so it is not a true regression as such. |
|
2020-05-20 11:10:57 |
Alex Murray |
attachment added |
|
Update for groovy solely to add the test suite change to be in-line with older releases https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374692/+files/libseccomp_2.4.3-1ubuntu3.debdiff |
|
2020-05-20 11:11:19 |
Alex Murray |
attachment added |
|
focal https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374693/+files/libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff |
|
2020-05-20 11:11:45 |
Alex Murray |
attachment added |
|
eoan https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374694/+files/libseccomp_2.4.3-1ubuntu3.19.10.1.debdiff |
|
2020-05-20 11:12:20 |
Alex Murray |
attachment removed |
Update for groovy solely to add the test suite change to be in-line with older releases https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374692/+files/libseccomp_2.4.3-1ubuntu3.debdiff |
|
|
2020-05-20 11:12:44 |
Alex Murray |
attachment added |
|
bionic https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374695/+files/libseccomp_2.4.3-1ubuntu3.18.04.1.debdiff |
|
2020-05-20 11:13:18 |
Alex Murray |
attachment added |
|
xenial https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374696/+files/libseccomp_2.4.3-1ubuntu3.16.04.1.debdiff |
|
2020-05-20 11:30:12 |
Alex Murray |
attachment removed |
focal https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374693/+files/libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff |
|
|
2020-05-20 11:30:22 |
Alex Murray |
attachment removed |
eoan https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374694/+files/libseccomp_2.4.3-1ubuntu3.19.10.1.debdiff |
|
|
2020-05-20 11:30:29 |
Alex Murray |
attachment removed |
bionic https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374695/+files/libseccomp_2.4.3-1ubuntu3.18.04.1.debdiff |
|
|
2020-05-20 11:30:37 |
Alex Murray |
attachment removed |
xenial https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374696/+files/libseccomp_2.4.3-1ubuntu3.16.04.1.debdiff |
|
|
2020-05-20 11:37:55 |
Alex Murray |
attachment added |
|
groovy https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374698/+files/libseccomp_2.4.3-1ubuntu3.debdiff |
|
2020-05-20 11:39:51 |
Alex Murray |
attachment added |
|
libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374699/+files/libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff |
|
2020-05-20 12:34:45 |
Ubuntu Foundations Team Bug Bot |
tags |
|
patch |
|
2020-05-20 12:34:52 |
Ubuntu Foundations Team Bug Bot |
bug |
|
|
added subscriber Ubuntu Sponsors Team |
2020-05-21 02:25:50 |
Alex Murray |
attachment removed |
groovy https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374698/+files/libseccomp_2.4.3-1ubuntu3.debdiff |
|
|
2020-05-21 02:26:00 |
Alex Murray |
attachment removed |
libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff [focal] https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5374699/+files/libseccomp_2.4.3-1ubuntu3.20.04.1.debdiff |
|
|
2020-05-23 03:23:05 |
Mathew Hodson |
tags |
patch |
patch upgrade-software-version |
|
2020-05-23 03:24:02 |
Mathew Hodson |
libseccomp (Ubuntu): importance |
Undecided |
Medium |
|
2020-05-25 02:37:26 |
Alex Murray |
description |
[Impact]
snap-confine from snapd uses libseccomp to filter various system calls for confinement. The current version in eoan/bionic/xenial (2.4.1) is missing knowledge of various system calls for various architectures. As such this causes strange issues like python snaps segfaulting (https://github.com/snapcore/core20/issues/48) or the inadvertent denial of system calls which should be permitted by the base policy (https://forum.snapcraft.io/t/getrlimit-blocked-by-seccomp-on-focal-arm64/17237).
libseccomp in groovy is using the latest upstream base release (2.4.3) plus it includes a patch to add some missing aarch64 system calls (https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1877633).
SRUing this version back to older stable releases allows libseccomp to operate correctly on all supported architectures.
[Test Case]
libseccomp includes a significant unit test suite that is run during the build and as part of autopkgtests. To verify the new aarch64 system calls are resolved as expected the scmp_sys_resolver command can be used as well:
$ scmp_sys_resolver -a aarch64 getrlimit
163
(whereas in the current version in focal this returns -10180 as libseccomp was not aware of this system-call at compile-time).
As part of this SRU, the test suite in libseccomp has been patched to include a local copy of the architecture-specific kernel headers from the 5.4 kernel in focal *for all releases*, so that all system calls which are defined for the 5.4 kernel are known about *for the libseccomp test suite*. This allows all unit tests to pass on older releases as well and defaults the build to fail on unit test failures (whereas currently in xenial this has been overridden to ignore failures).
[Regression Potential]
This has a low regression potential due to significant testing with many packages that depend on libseccomp (lxc, qemu, snapd, apt, man etc) and none have shown any regression using this new version.
Any possible regressions may include applications now seeing correct system call resolution whereas previously this would have failed, and so perhaps previous failures (which were erroneous) will now be permitted. However, this was always permitted previously by the policy anyway but just denied due to this bug so it is not a true regression as such. |
[Impact]
The combination of snap-confine and snap-seccomp from snapd uses libseccomp to filter various system calls for confinement. The current version in eoan/bionic/xenial (2.4.1) is missing knowledge of various system calls for various architectures. As such this causes strange issues like python snaps segfaulting (https://github.com/snapcore/core20/issues/48) or the inadvertent denial of system calls which should be permitted by the base policy (https://forum.snapcraft.io/t/getrlimit-blocked-by-seccomp-on-focal-arm64/17237).
libseccomp in groovy is using the latest upstream base release (2.4.3) plus it includes a patch to add some missing aarch64 system calls (https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1877633).
SRUing this version back to older stable releases allows libseccomp to operate correctly on all supported architectures.
Included as part of this SRU are test-suite reliability improvements - currently the xenial libseccomp package overrides test-suite failures at build time to ignore failures. This masks the fact that on ppc64el and s390x there are currently test suite failures at build time for xenial - these failures occur since libseccomp now includes knowledge of system calls for these architectures but which the linux-libc-dev package for xenial does not actually define (since this is based of the 4.4 kernel in xenial whereas libseccomp 2.4.1 in xenial has knowledge of all system calls up to 5.4).
In this SRU I have instead fixed the test suite failures for xenial by including a local (test-suite specific) set of architecture specific kernel headers from the linux-libc-dev in focal for all releases. These are just the headers which define the system call numbers for each architecture *and* these are added to tests/include/$ARCH in the source package (and tests/Makefile.am is then updated to include these new headers only). As such this ensures the actual build of libseccomp or any of the tools does not reference these headers. This allows the test suite in libseccomp to then be aware of theses system calls and so all unit tests for all architectures now pass.
In any future updates for libseccomp to add new system calls, we can then similarly update these local headers to ensure the unit tests continue to work as expected.
[Test Case]
libseccomp includes a significant unit test suite that is run during the build and as part of autopkgtests. To verify the new aarch64 system calls are resolved as expected the scmp_sys_resolver command can be used as well:
$ scmp_sys_resolver -a aarch64 getrlimit
163
(whereas in the current version in focal this returns -10180 as libseccomp was not aware of this system-call at compile-time).
As part of this SRU, the test suite in libseccomp has been patched to include a local copy of the architecture-specific kernel headers from the 5.4 kernel in focal *for all releases*, so that all system calls which are defined for the 5.4 kernel are known about *for the libseccomp test suite*. This allows all unit tests to pass on older releases as well and defaults the build to fail on unit test failures (whereas currently in xenial this has been overridden to ignore failures).
[Regression Potential]
This has a low regression potential due to significant testing with many packages that depend on libseccomp (lxc, qemu, snapd, apt, man etc) and none have shown any regression using this new version. The re-enablement of build failure on test failure at build time also ensures that we can reliably detect FTBFS issues in the future.
No symbols have been removed (or added) with this update in version so there is no chance of regression due to ABI change etc. In the past, the security team has performed more significant version upgrades for libseccomp (2.2, 2.3, 2.4) -> 2.4.1 without major incident. In the case of *this* SRU, we are only doing a micro-version upgrade from 2.4.1 to 2.4.3 so this carries even less change of regressions.
Any possible regressions may include applications now seeing correct system call resolution whereas previously this would have failed, and so perhaps previous failures (which were erroneous) will now be permitted. However, this was always permitted previously by the policy anyway but just denied due to this bug so it is not a true regression as such.
I have prepared these updates in the ubuntu-security-proposed PPA - could the SRU team could please review these in lieu of attached debdiffs? |
|
2020-05-25 05:22:20 |
Alex Murray |
nominated for series |
|
Ubuntu Groovy |
|
2020-05-25 05:22:20 |
Alex Murray |
bug task added |
|
libseccomp (Ubuntu Groovy) |
|
2020-05-25 05:22:20 |
Alex Murray |
nominated for series |
|
Ubuntu Xenial |
|
2020-05-25 05:22:20 |
Alex Murray |
bug task added |
|
libseccomp (Ubuntu Xenial) |
|
2020-05-25 05:22:20 |
Alex Murray |
nominated for series |
|
Ubuntu Eoan |
|
2020-05-25 05:22:20 |
Alex Murray |
bug task added |
|
libseccomp (Ubuntu Eoan) |
|
2020-05-25 05:22:20 |
Alex Murray |
nominated for series |
|
Ubuntu Bionic |
|
2020-05-25 05:22:20 |
Alex Murray |
bug task added |
|
libseccomp (Ubuntu Bionic) |
|
2020-05-25 05:22:20 |
Alex Murray |
nominated for series |
|
Ubuntu Focal |
|
2020-05-25 05:22:20 |
Alex Murray |
bug task added |
|
libseccomp (Ubuntu Focal) |
|
2020-05-27 19:17:03 |
Lucas Kanashiro |
libseccomp (Ubuntu Focal): importance |
Undecided |
Medium |
|
2020-05-27 19:17:05 |
Lucas Kanashiro |
libseccomp (Ubuntu Eoan): importance |
Undecided |
Medium |
|
2020-05-27 19:17:08 |
Lucas Kanashiro |
libseccomp (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2020-05-27 19:17:11 |
Lucas Kanashiro |
libseccomp (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2020-05-28 18:05:04 |
Launchpad Janitor |
libseccomp (Ubuntu): status |
New |
Confirmed |
|
2020-05-28 18:05:04 |
Launchpad Janitor |
libseccomp (Ubuntu Xenial): status |
New |
Confirmed |
|
2020-05-28 18:05:04 |
Launchpad Janitor |
libseccomp (Ubuntu Bionic): status |
New |
Confirmed |
|
2020-05-28 18:05:04 |
Launchpad Janitor |
libseccomp (Ubuntu Eoan): status |
New |
Confirmed |
|
2020-05-28 18:05:04 |
Launchpad Janitor |
libseccomp (Ubuntu Focal): status |
New |
Confirmed |
|
2020-05-28 18:05:12 |
Tianon Gravi |
bug |
|
|
added subscriber Tianon Gravi |
2020-06-01 04:31:23 |
Alex Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2020-06-01 08:59:26 |
Dimitri John Ledkov |
libseccomp (Ubuntu Groovy): status |
Confirmed |
Fix Released |
|
2020-06-02 04:15:28 |
Alex Murray |
summary |
SRU: Backport 2.4.3-1ubuntu2 from groovy to focal/eoan/bionic/xenial for newer syscalls for core20 base |
SRU: Backport 2.4.3-1ubuntu3 from groovy to focal/eoan/bionic/xenial for newer syscalls for core20 base and test suite robustness |
|
2020-06-10 03:13:22 |
Jamie Strandboge |
libseccomp (Ubuntu Xenial): status |
Confirmed |
Fix Committed |
|
2020-06-10 03:13:24 |
Jamie Strandboge |
libseccomp (Ubuntu Bionic): status |
Confirmed |
Fix Committed |
|
2020-06-10 03:13:27 |
Jamie Strandboge |
libseccomp (Ubuntu Eoan): status |
Confirmed |
Fix Committed |
|
2020-06-10 03:13:30 |
Jamie Strandboge |
libseccomp (Ubuntu Focal): status |
Confirmed |
Fix Committed |
|
2020-06-10 03:14:09 |
Jamie Strandboge |
tags |
patch upgrade-software-version |
patch upgrade-software-version verification-needed-bionic verification-needed-eoan verification-needed-focal verification-needed-xenial |
|
2020-06-10 05:16:57 |
Alex Murray |
attachment added |
|
libseccomp-xenial-proposed-test.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5382294/+files/libseccomp-xenial-proposed-test.log |
|
2020-06-10 05:17:13 |
Alex Murray |
tags |
patch upgrade-software-version verification-needed-bionic verification-needed-eoan verification-needed-focal verification-needed-xenial |
patch upgrade-software-version verification-done-xenial verification-needed-bionic verification-needed-eoan verification-needed-focal |
|
2020-06-10 05:20:06 |
Alex Murray |
attachment added |
|
libseccomp-bionic-proposed-test.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5382295/+files/libseccomp-bionic-proposed-test.log |
|
2020-06-10 05:20:24 |
Alex Murray |
tags |
patch upgrade-software-version verification-done-xenial verification-needed-bionic verification-needed-eoan verification-needed-focal |
patch upgrade-software-version verification-done-bionic verification-done-xenial verification-needed-eoan verification-needed-focal |
|
2020-06-10 05:23:38 |
Alex Murray |
attachment added |
|
libseccomp-eoan-proposed-test.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5382296/+files/libseccomp-eoan-proposed-test.log |
|
2020-06-10 05:23:50 |
Alex Murray |
tags |
patch upgrade-software-version verification-done-bionic verification-done-xenial verification-needed-eoan verification-needed-focal |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-xenial verification-needed-focal |
|
2020-06-10 05:26:32 |
Alex Murray |
attachment added |
|
libseccomp-focal-proposed-test.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5382297/+files/libseccomp-focal-proposed-test.log |
|
2020-06-10 05:26:44 |
Alex Murray |
tags |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-xenial verification-needed-focal |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-focal verification-done-xenial |
|
2020-06-10 14:29:42 |
Jamie Strandboge |
tags |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-focal verification-done-xenial |
patch upgrade-software-version verification-needed-bionic verification-needed-eoan verification-needed-focal verification-needed-xenial |
|
2020-06-10 19:03:11 |
Jamie Strandboge |
tags |
patch upgrade-software-version verification-needed-bionic verification-needed-eoan verification-needed-focal verification-needed-xenial |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-focal verification-done-xenial |
|
2020-06-12 06:39:41 |
Alex Murray |
attachment added |
|
systemd_242-7ubuntu3.10.debdiff https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5383164/+files/systemd_242-7ubuntu3.10.debdiff |
|
2020-06-12 06:41:03 |
Alex Murray |
attachment added |
|
systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5383165/+files/systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log |
|
2020-06-12 06:41:18 |
Alex Murray |
attachment removed |
systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5383165/+files/systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log |
|
|
2020-06-12 06:42:15 |
Alex Murray |
attachment added |
|
systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log.gz https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1876055/+attachment/5383166/+files/systemd-242-7ubuntu3.10-i386-autopkgtest-libseccomp-proposed-upgrade.log.gz |
|
2020-06-14 23:44:13 |
Alex Murray |
bug task added |
|
systemd (Ubuntu) |
|
2020-06-14 23:44:25 |
Alex Murray |
bug task deleted |
systemd (Ubuntu Xenial) |
|
|
2020-06-14 23:44:31 |
Alex Murray |
bug task deleted |
systemd (Ubuntu Bionic) |
|
|
2020-06-14 23:44:37 |
Alex Murray |
bug task deleted |
systemd (Ubuntu Focal) |
|
|
2020-06-14 23:44:45 |
Alex Murray |
bug task deleted |
systemd (Ubuntu Groovy) |
|
|
2020-06-16 14:43:36 |
Dan Streetman |
bug |
|
|
added subscriber Dan Streetman |
2020-06-19 16:54:41 |
Tobias Müllerleile |
bug |
|
|
added subscriber Tobias Müllerleile |
2020-06-29 09:00:13 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2020-06-29 09:00:12 |
Launchpad Janitor |
libseccomp (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2020-06-29 09:08:01 |
Launchpad Janitor |
libseccomp (Ubuntu Eoan): status |
Fix Committed |
Fix Released |
|
2020-06-29 09:08:14 |
Launchpad Janitor |
libseccomp (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2020-06-29 09:08:29 |
Launchpad Janitor |
libseccomp (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2020-06-29 09:42:33 |
Łukasz Zemczak |
systemd (Ubuntu Eoan): status |
New |
Fix Committed |
|
2020-06-29 09:42:35 |
Łukasz Zemczak |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2020-06-29 09:42:38 |
Łukasz Zemczak |
bug |
|
|
added subscriber SRU Verification |
2020-06-29 09:42:41 |
Łukasz Zemczak |
tags |
patch upgrade-software-version verification-done-bionic verification-done-eoan verification-done-focal verification-done-xenial |
patch upgrade-software-version verification-done-bionic verification-done-focal verification-done-xenial verification-needed verification-needed-eoan |
|
2020-06-29 10:05:16 |
Łukasz Zemczak |
removed subscriber Ubuntu Sponsors Team |
|
|
|
2020-06-29 11:00:34 |
Launchpad Janitor |
systemd (Ubuntu Eoan): status |
Fix Committed |
Fix Released |
|
2020-07-24 19:51:50 |
Dan Streetman |
systemd (Ubuntu): status |
New |
Fix Released |
|