{"id":"CVE-2025-5054","aliases":["EUVD-2025-16511","GHSA-4c8w-67qj-c8vp","UBUNTU-CVE-2025-5054","USN-7545-1"],"status":"published","title":"Race Condition in Canonical Apport","description":"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.\n\n\n\n\nWhen 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).","severity":{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00784,"percentile":0.56356,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-362"],"published":"2025-05-29T00:00:00Z","modified":"2026-06-25T13:32:30Z","exploits":[{"source":"pocgithub","id":"daryllundy/cve-2025-5054","title":"daryllundy/cve-2025-5054","date":"2025-06-06","url":"https://github.com/daryllundy/cve-2025-5054"}],"fixes":[{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"apport","fixed_in":["2.20.1-0ubuntu2.30+esm5"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"apport","fixed_in":["2.20.9-0ubuntu7.29+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"apport","fixed_in":["2.20.11-0ubuntu27.28"],"sources":["osv"]},{"ecosystem":"Ubuntu:22.04:LTS","package":"apport","fixed_in":["2.20.11-0ubuntu82.7"],"sources":["osv"]},{"ecosystem":"Ubuntu:24.04:LTS","package":"apport","fixed_in":["2.28.1-0ubuntu3.6"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.1-0ubuntu2.30+esm5"}]}],"versions":["2.19.1-0ubuntu3","2.19.2-0ubuntu1","2.19.2-0ubuntu2","2.19.2-0ubuntu3","2.19.2-0ubuntu4","2.19.2-0ubuntu5","2.19.2-0ubuntu6","2.19.2-0ubuntu8","2.19.2-0ubuntu9","2.19.3-0ubuntu1","2.19.3-0ubuntu2","2.19.3-0ubuntu3","2.19.4-0ubuntu1","2.19.4-0ubuntu2","2.20-0ubuntu2","2.20-0ubuntu3","2.20.1-0ubuntu1","2.20.1-0ubuntu2","2.20.1-0ubuntu2.1","2.20.1-0ubuntu2.2","2.20.1-0ubuntu2.4","2.20.1-0ubuntu2.5","2.20.1-0ubuntu2.6","2.20.1-0ubuntu2.9","2.20.1-0ubuntu2.10","2.20.1-0ubuntu2.12","2.20.1-0ubuntu2.13","2.20.1-0ubuntu2.14","2.20.1-0ubuntu2.15","2.20.1-0ubuntu2.16","2.20.1-0ubuntu2.17","2.20.1-0ubuntu2.18","2.20.1-0ubuntu2.19","2.20.1-0ubuntu2.20","2.20.1-0ubuntu2.21","2.20.1-0ubuntu2.22","2.20.1-0ubuntu2.23","2.20.1-0ubuntu2.24","2.20.1-0ubuntu2.25","2.20.1-0ubuntu2.26","2.20.1-0ubuntu2.27","2.20.1-0ubuntu2.28","2.20.1-0ubuntu2.30","2.20.1-0ubuntu2.30+esm1","2.20.1-0ubuntu2.30+esm2","2.20.1-0ubuntu2.30+esm3","2.20.1-0ubuntu2.30+esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.9-0ubuntu7.29+esm1"}]}],"versions":["2.20.7-0ubuntu3","2.20.7-0ubuntu3.1","2.20.7-0ubuntu4","2.20.8-0ubuntu1","2.20.8-0ubuntu2","2.20.8-0ubuntu3","2.20.8-0ubuntu4","2.20.8-0ubuntu5","2.20.8-0ubuntu6","2.20.8-0ubuntu7","2.20.8-0ubuntu8","2.20.8-0ubuntu9","2.20.8-0ubuntu10","2.20.9-0ubuntu1","2.20.9-0ubuntu2","2.20.9-0ubuntu4","2.20.9-0ubuntu5","2.20.9-0ubuntu6","2.20.9-0ubuntu7","2.20.9-0ubuntu7.1","2.20.9-0ubuntu7.2","2.20.9-0ubuntu7.3","2.20.9-0ubuntu7.4","2.20.9-0ubuntu7.5","2.20.9-0ubuntu7.6","2.20.9-0ubuntu7.7","2.20.9-0ubuntu7.8","2.20.9-0ubuntu7.9","2.20.9-0ubuntu7.11","2.20.9-0ubuntu7.12","2.20.9-0ubuntu7.13","2.20.9-0ubuntu7.14","2.20.9-0ubuntu7.15","2.20.9-0ubuntu7.16","2.20.9-0ubuntu7.17","2.20.9-0ubuntu7.18","2.20.9-0ubuntu7.19","2.20.9-0ubuntu7.20","2.20.9-0ubuntu7.21","2.20.9-0ubuntu7.23","2.20.9-0ubuntu7.24","2.20.9-0ubuntu7.26","2.20.9-0ubuntu7.27","2.20.9-0ubuntu7.28","2.20.9-0ubuntu7.29"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.11-0ubuntu27.28"}]}],"versions":["2.20.11-0ubuntu8","2.20.11-0ubuntu9","2.20.11-0ubuntu13","2.20.11-0ubuntu14","2.20.11-0ubuntu15","2.20.11-0ubuntu16","2.20.11-0ubuntu17","2.20.11-0ubuntu18","2.20.11-0ubuntu19","2.20.11-0ubuntu20","2.20.11-0ubuntu21","2.20.11-0ubuntu22","2.20.11-0ubuntu24","2.20.11-0ubuntu25","2.20.11-0ubuntu26","2.20.11-0ubuntu27","2.20.11-0ubuntu27.2","2.20.11-0ubuntu27.3","2.20.11-0ubuntu27.4","2.20.11-0ubuntu27.6","2.20.11-0ubuntu27.8","2.20.11-0ubuntu27.9","2.20.11-0ubuntu27.10","2.20.11-0ubuntu27.11","2.20.11-0ubuntu27.12","2.20.11-0ubuntu27.13","2.20.11-0ubuntu27.14","2.20.11-0ubuntu27.16","2.20.11-0ubuntu27.17","2.20.11-0ubuntu27.18","2.20.11-0ubuntu27.20","2.20.11-0ubuntu27.21","2.20.11-0ubuntu27.23","2.20.11-0ubuntu27.24","2.20.11-0ubuntu27.25","2.20.11-0ubuntu27.26","2.20.11-0ubuntu27.27"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.11-0ubuntu82.7"}]}],"versions":["2.20.11-0ubuntu70","2.20.11-0ubuntu73","2.20.11-0ubuntu74","2.20.11-0ubuntu75","2.20.11-0ubuntu76","2.20.11-0ubuntu77","2.20.11-0ubuntu78","2.20.11-0ubuntu79","2.20.11-0ubuntu80","2.20.11-0ubuntu81","2.20.11-0ubuntu82","2.20.11-0ubuntu82.1","2.20.11-0ubuntu82.2","2.20.11-0ubuntu82.3","2.20.11-0ubuntu82.4","2.20.11-0ubuntu82.5","2.20.11-0ubuntu82.6"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.28.1-0ubuntu3.6"}]}],"versions":["2.27.0-0ubuntu5","2.27.0-0ubuntu6","2.27.0-0ubuntu7","2.28.0-0ubuntu1","2.28.1-0ubuntu1","2.28.1-0ubuntu2","2.28.1-0ubuntu3","2.28.1-0ubuntu3.1","2.28.1-0ubuntu3.3","2.28.1-0ubuntu3.5"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.1-0ubuntu2.30+esm5"}]}],"versions":["2.19.1-0ubuntu3","2.19.2-0ubuntu1","2.19.2-0ubuntu2","2.19.2-0ubuntu3","2.19.2-0ubuntu4","2.19.2-0ubuntu5","2.19.2-0ubuntu6","2.19.2-0ubuntu8","2.19.2-0ubuntu9","2.19.3-0ubuntu1","2.19.3-0ubuntu2","2.19.3-0ubuntu3","2.19.4-0ubuntu1","2.19.4-0ubuntu2","2.20-0ubuntu2","2.20-0ubuntu3","2.20.1-0ubuntu1","2.20.1-0ubuntu2","2.20.1-0ubuntu2.1","2.20.1-0ubuntu2.2","2.20.1-0ubuntu2.4","2.20.1-0ubuntu2.5","2.20.1-0ubuntu2.6","2.20.1-0ubuntu2.9","2.20.1-0ubuntu2.10","2.20.1-0ubuntu2.12","2.20.1-0ubuntu2.13","2.20.1-0ubuntu2.14","2.20.1-0ubuntu2.15","2.20.1-0ubuntu2.16","2.20.1-0ubuntu2.17","2.20.1-0ubuntu2.18","2.20.1-0ubuntu2.19","2.20.1-0ubuntu2.20","2.20.1-0ubuntu2.21","2.20.1-0ubuntu2.22","2.20.1-0ubuntu2.23","2.20.1-0ubuntu2.24","2.20.1-0ubuntu2.25","2.20.1-0ubuntu2.26","2.20.1-0ubuntu2.27","2.20.1-0ubuntu2.28","2.20.1-0ubuntu2.30","2.20.1-0ubuntu2.30+esm1","2.20.1-0ubuntu2.30+esm2","2.20.1-0ubuntu2.30+esm3","2.20.1-0ubuntu2.30+esm4"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.9-0ubuntu7.29+esm1"}]}],"versions":["2.20.7-0ubuntu3","2.20.7-0ubuntu3.1","2.20.7-0ubuntu4","2.20.8-0ubuntu1","2.20.8-0ubuntu2","2.20.8-0ubuntu3","2.20.8-0ubuntu4","2.20.8-0ubuntu5","2.20.8-0ubuntu6","2.20.8-0ubuntu7","2.20.8-0ubuntu8","2.20.8-0ubuntu9","2.20.8-0ubuntu10","2.20.9-0ubuntu1","2.20.9-0ubuntu2","2.20.9-0ubuntu4","2.20.9-0ubuntu5","2.20.9-0ubuntu6","2.20.9-0ubuntu7","2.20.9-0ubuntu7.1","2.20.9-0ubuntu7.2","2.20.9-0ubuntu7.3","2.20.9-0ubuntu7.4","2.20.9-0ubuntu7.5","2.20.9-0ubuntu7.6","2.20.9-0ubuntu7.7","2.20.9-0ubuntu7.8","2.20.9-0ubuntu7.9","2.20.9-0ubuntu7.11","2.20.9-0ubuntu7.12","2.20.9-0ubuntu7.13","2.20.9-0ubuntu7.14","2.20.9-0ubuntu7.15","2.20.9-0ubuntu7.16","2.20.9-0ubuntu7.17","2.20.9-0ubuntu7.18","2.20.9-0ubuntu7.19","2.20.9-0ubuntu7.20","2.20.9-0ubuntu7.21","2.20.9-0ubuntu7.23","2.20.9-0ubuntu7.24","2.20.9-0ubuntu7.26","2.20.9-0ubuntu7.27","2.20.9-0ubuntu7.28","2.20.9-0ubuntu7.29"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.11-0ubuntu27.28"}]}],"versions":["2.20.11-0ubuntu8","2.20.11-0ubuntu9","2.20.11-0ubuntu13","2.20.11-0ubuntu14","2.20.11-0ubuntu15","2.20.11-0ubuntu16","2.20.11-0ubuntu17","2.20.11-0ubuntu18","2.20.11-0ubuntu19","2.20.11-0ubuntu20","2.20.11-0ubuntu21","2.20.11-0ubuntu22","2.20.11-0ubuntu24","2.20.11-0ubuntu25","2.20.11-0ubuntu26","2.20.11-0ubuntu27","2.20.11-0ubuntu27.2","2.20.11-0ubuntu27.3","2.20.11-0ubuntu27.4","2.20.11-0ubuntu27.6","2.20.11-0ubuntu27.8","2.20.11-0ubuntu27.9","2.20.11-0ubuntu27.10","2.20.11-0ubuntu27.11","2.20.11-0ubuntu27.12","2.20.11-0ubuntu27.13","2.20.11-0ubuntu27.14","2.20.11-0ubuntu27.16","2.20.11-0ubuntu27.17","2.20.11-0ubuntu27.18","2.20.11-0ubuntu27.20","2.20.11-0ubuntu27.21","2.20.11-0ubuntu27.23","2.20.11-0ubuntu27.24","2.20.11-0ubuntu27.25","2.20.11-0ubuntu27.26","2.20.11-0ubuntu27.27"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.11-0ubuntu82.7"}]}],"versions":["2.20.11-0ubuntu70","2.20.11-0ubuntu73","2.20.11-0ubuntu74","2.20.11-0ubuntu75","2.20.11-0ubuntu76","2.20.11-0ubuntu77","2.20.11-0ubuntu78","2.20.11-0ubuntu79","2.20.11-0ubuntu80","2.20.11-0ubuntu81","2.20.11-0ubuntu82","2.20.11-0ubuntu82.1","2.20.11-0ubuntu82.2","2.20.11-0ubuntu82.3","2.20.11-0ubuntu82.4","2.20.11-0ubuntu82.5","2.20.11-0ubuntu82.6"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.28.1-0ubuntu3.6"}]}],"versions":["2.27.0-0ubuntu5","2.27.0-0ubuntu6","2.27.0-0ubuntu7","2.28.0-0ubuntu1","2.28.1-0ubuntu1","2.28.1-0ubuntu2","2.28.1-0ubuntu3","2.28.1-0ubuntu3.1","2.28.1-0ubuntu3.3","2.28.1-0ubuntu3.5"]}],"products":[{"vendor":"canonical","product":"apport"},{"vendor":"canonical","product":"ubuntu_linux"}],"references":[{"url":"https://ubuntu.com/security/notices/USN-7545-1","tags":["vendor-advisory","Third Party Advisory","advisory"]},{"url":"https://ubuntu.com/security/CVE-2025-5054","tags":["vdb-entry","Third Party Advisory","report"]},{"url":"https://www.qualys.com/2025/05/29/apport-coredump/apport-coredump.txt","tags":["third-party-advisory","Exploit","Mitigation","Third Party Advisory"]},{"url":"http://seclists.org/fulldisclosure/2025/Jun/9"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-5054"},{"url":"https://github.com/advisories/GHSA-4c8w-67qj-c8vp"},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-5054","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2025-5054","title":"Race Condition in Canonical Apport","description":"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.\n\n\n\n\nWhen 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).","status":"published","published":"2025-05-30T17:37:01.006Z","modified":"2025-11-03T20:05:43.609Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T14:32:29.97618Z"}],"euvd":[{"id":"EUVD-2025-16511","description":"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.\n\n\n\n\nWhen 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).","status":"published","published":"2025-05-30T17:37:01Z","modified":"2025-11-03T20:05:43Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T19:49:32.896597Z"}],"ghsa":[{"id":"GHSA-4c8w-67qj-c8vp","title":"Race condition in Canonical apport up to and including 2.32.0 allows a local attacker to leak...","description":"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.\n\n\n\n\nWhen 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).","status":"published","published":"2025-05-30T18:31:16Z","modified":"2025-11-03T21:35:03Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T15:04:25.4654Z"}],"nvd":[{"id":"CVE-2025-5054","description":"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.\n\n\n\n\nWhen 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).","status":"published","published":"2025-05-30T18:15:32.67Z","modified":"2026-06-17T09:47:06.343Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-362"],"updated_at":"2026-11-02T14:11:10.143444Z"}],"osv":[{"id":"UBUNTU-CVE-2025-5054","description":"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).","status":"published","published":"2025-05-29T00:00:00Z","modified":"2026-02-04T02:20:22.338226Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T16:55:50.31802Z"},{"id":"USN-7545-1","title":"apport vulnerability","description":"Qualys discovered that Apport incorrectly handled metadata when\nprocessing application crashes. An attacker could possibly use this issue\nto leak sensitive information.","status":"published","published":"2025-05-29T13:48:10Z","modified":"2026-06-25T13:32:30.444070619Z","updated_at":"2026-11-02T16:58:19.988474Z"}]}}
