Apport reads and writes information on a crashed process to /proc/pid with elevated privileges. Apport then determines which user the crashed process belongs to by reading /proc/pid through getpidinfo() in data/apport. An unprivileged user could exploit this to read information about a privileged running process by exploiting PID recycling. This information could then be used to obtain ASLR offsets for a process with an existing memory corruption vulnerability. The initial fix introduced regressions in the Python Apport library due to a missing argument in Report.addprocenviron in apport/report.py. It also caused an autopkgtest failure when reading /proc/pid and with Python 2 compatibility by reading /proc maps. The initial and subsequent regression fixes are in 2.20.11-0ubuntu16, 2.20.11-0ubuntu8.6, 2.20.9-0ubuntu7.12, 2.20.1-0ubuntu2.22 and 2.14.1-0ubuntu3.29+esm3.
{
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "apport",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "apport-gtk",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "apport-kde",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "apport-noui",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "apport-retrace",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "apport-valgrind",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "dh-apport",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "python-apport",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "python-problem-report",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "python3-apport",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
},
{
"binary_name": "python3-problem-report",
"binary_version": "2.14.1-0ubuntu3.29+esm2"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "apport",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "apport-gtk",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "apport-kde",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "apport-noui",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "apport-retrace",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "apport-valgrind",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "dh-apport",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "python-apport",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "python-problem-report",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "python3-apport",
"binary_version": "2.20.1-0ubuntu2.20"
},
{
"binary_name": "python3-problem-report",
"binary_version": "2.20.1-0ubuntu2.20"
}
]
}
{
"availability": "No subscription required",
"binaries": [
{
"binary_name": "apport",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "apport-gtk",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "apport-kde",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "apport-noui",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "apport-retrace",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "apport-valgrind",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "dh-apport",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "python-apport",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "python-problem-report",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "python3-apport",
"binary_version": "2.20.9-0ubuntu7.8"
},
{
"binary_name": "python3-problem-report",
"binary_version": "2.20.9-0ubuntu7.8"
}
]
}