Race condition in Canonical apport up to and including 2.32.0 allows a local attacker to leak sensitive information via PID-reuse by leveraging namespaces. When handling a crash, the function _check_global_pid_and_forward
, which detects if the crashing process resided in a container, was being called before consistency_checks
, which attempts to detect if the crashing process had been replaced. Because of this, if a process crashed and was quickly replaced with a containerized one, apport could be made to forward the core dump to the container, potentially leaking sensitive information. consistency_checks
is now being called before _check_global_pid_and_forward
. Additionally, given that the PID-reuse race condition cannot be reliably detected from userspace alone, crashes are only forwarded to containers if the kernel provided a pidfd, or if the crashing process was unprivileged (i.e., if dump mode == 1).
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport-gtk" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport-kde" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport-noui" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport-retrace" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "apport-valgrind" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "dh-apport" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "python-apport" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "python-problem-report" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "python3-apport" }, { "binary_version": "2.20.1-0ubuntu2.30+esm5", "binary_name": "python3-problem-report" } ] }
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport-gtk" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport-kde" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport-noui" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport-retrace" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "apport-valgrind" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "dh-apport" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "python-apport" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "python-problem-report" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "python3-apport" }, { "binary_version": "2.20.9-0ubuntu7.29+esm1", "binary_name": "python3-problem-report" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport-gtk" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport-kde" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport-noui" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport-retrace" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "apport-valgrind" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "dh-apport" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "python3-apport" }, { "binary_version": "2.20.11-0ubuntu27.28", "binary_name": "python3-problem-report" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport-gtk" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport-kde" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport-noui" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport-retrace" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "apport-valgrind" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "dh-apport" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "python3-apport" }, { "binary_version": "2.20.11-0ubuntu82.7", "binary_name": "python3-problem-report" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-core-dump-handler" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-gtk" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-kde" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-noui" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-retrace" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "apport-valgrind" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "dh-apport" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "python3-apport" }, { "binary_version": "2.30.0-0ubuntu4.3", "binary_name": "python3-problem-report" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-core-dump-handler" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-gtk" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-kde" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-noui" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-retrace" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "apport-valgrind" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "dh-apport" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "python3-apport" }, { "binary_version": "2.28.1-0ubuntu3.6", "binary_name": "python3-problem-report" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-core-dump-handler" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-gtk" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-kde" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-noui" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-retrace" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "apport-valgrind" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "dh-apport" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "python3-apport" }, { "binary_version": "2.32.0-0ubuntu5.1", "binary_name": "python3-problem-report" } ] }