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).
{
"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"
}
{
"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": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"
}
{
"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"
}
{
"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"
}
{
"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"
}