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 get_pid_info() 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.add_proc_environ
in apport/ 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
Ubuntu 12.04 ESM (Precise Pangolin):DNE
Ubuntu 14.04 ESM (Trusty Tahr):released (2.14.1-0ubuntu3.29+esm2)
Ubuntu 16.04 LTS (Xenial Xerus):released (2.20.1-0ubuntu2.20)
Ubuntu 18.04 LTS (Bionic Beaver):released (2.20.9-0ubuntu7.8)
Ubuntu 19.10 (Eoan Ermine):released (2.20.11-0ubuntu8.1)
Ubuntu 20.04 LTS (Focal Fossa):released (2.20.11-0ubuntu10)
More Information

Updated: 2020-05-29 19:21:37 UTC (commit 2d0d387aa141e969cc1ddbb230ab2faa3ee568d5)