{"id":"CVE-2016-9949","aliases":["EUVD-2016-10736","GHSA-5hh7-vqxx-v3cj","UBUNTU-CVE-2016-9949","USN-3157-1"],"status":"published","title":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field...","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","severity":{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.17726,"percentile":0.97177,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-94"],"published":"2016-12-14T00:00:00Z","modified":"2026-06-17T00:56:49Z","exploits":[{"source":"exploitdb","id":"EDB-40937","title":"Apport 2.x (Ubuntu Desktop 12.10 \u003c 16.04) - Local Code Execution","type":"local","platform":"linux","date":"2016-12-14","url":"https://www.exploit-db.com/exploits/40937"}],"fixes":[{"ecosystem":"Ubuntu:14.04:LTS","package":"apport","fixed_in":["2.14.1-0ubuntu3.23"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"apport","fixed_in":["2.20.1-0ubuntu2.4"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.14.1-0ubuntu3.23"}]}],"versions":["2.12.5-0ubuntu2","2.12.6-0ubuntu1","2.12.7-0ubuntu1","2.12.7-0ubuntu2","2.12.7-0ubuntu3","2.12.7-0ubuntu6","2.13.1-0ubuntu1","2.13.1-0ubuntu2","2.13.2-0ubuntu2","2.13.2-0ubuntu3","2.13.2-0ubuntu4","2.13.2-0ubuntu5","2.13.3-0ubuntu1","2.14-0ubuntu1","2.14.1-0ubuntu1","2.14.1-0ubuntu2","2.14.1-0ubuntu3","2.14.1-0ubuntu3.1","2.14.1-0ubuntu3.2","2.14.1-0ubuntu3.3","2.14.1-0ubuntu3.4","2.14.1-0ubuntu3.5","2.14.1-0ubuntu3.6","2.14.1-0ubuntu3.7","2.14.1-0ubuntu3.8","2.14.1-0ubuntu3.9","2.14.1-0ubuntu3.10","2.14.1-0ubuntu3.11","2.14.1-0ubuntu3.12","2.14.1-0ubuntu3.13","2.14.1-0ubuntu3.15","2.14.1-0ubuntu3.16","2.14.1-0ubuntu3.18","2.14.1-0ubuntu3.19","2.14.1-0ubuntu3.20","2.14.1-0ubuntu3.21"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.1-0ubuntu2.4"}]}],"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"]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.14.1-0ubuntu3.23"}]}],"versions":["2.12.5-0ubuntu2","2.12.6-0ubuntu1","2.12.7-0ubuntu1","2.12.7-0ubuntu2","2.12.7-0ubuntu3","2.12.7-0ubuntu6","2.13.1-0ubuntu1","2.13.1-0ubuntu2","2.13.2-0ubuntu2","2.13.2-0ubuntu3","2.13.2-0ubuntu4","2.13.2-0ubuntu5","2.13.3-0ubuntu1","2.14-0ubuntu1","2.14.1-0ubuntu1","2.14.1-0ubuntu2","2.14.1-0ubuntu3","2.14.1-0ubuntu3.1","2.14.1-0ubuntu3.2","2.14.1-0ubuntu3.3","2.14.1-0ubuntu3.4","2.14.1-0ubuntu3.5","2.14.1-0ubuntu3.6","2.14.1-0ubuntu3.7","2.14.1-0ubuntu3.8","2.14.1-0ubuntu3.9","2.14.1-0ubuntu3.10","2.14.1-0ubuntu3.11","2.14.1-0ubuntu3.12","2.14.1-0ubuntu3.13","2.14.1-0ubuntu3.15","2.14.1-0ubuntu3.16","2.14.1-0ubuntu3.18","2.14.1-0ubuntu3.19","2.14.1-0ubuntu3.20","2.14.1-0ubuntu3.21"],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"apport","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.20.1-0ubuntu2.4"}]}],"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"],"bundled":3}],"products":[{"vendor":"apport_project","product":"apport"},{"vendor":"canonical","product":"ubuntu_linux"}],"references":[{"url":"https://github.com/DonnchaC/ubuntu-apport-exploitation","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Third Party Advisory"]},{"url":"https://donncha.is/2016/12/compromising-ubuntu-desktop/","tags":["x_refsource_MISC","x_transferred","Exploit","Technical Description","Third Party Advisory","report"]},{"url":"https://bugs.launchpad.net/apport/+bug/1648806","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Patch"]},{"url":"http://www.securityfocus.com/bid/95011","tags":["vdb-entry","x_refsource_BID","x_transferred","Third Party Advisory","VDB Entry"]},{"url":"http://www.ubuntu.com/usn/USN-3157-1","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred"]},{"url":"https://www.exploit-db.com/exploits/40937/","tags":["exploit","x_refsource_EXPLOIT-DB","x_transferred"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-9949"},{"url":"https://donncha.is/2016/12/compromising-ubuntu-desktop"},{"url":"https://www.exploit-db.com/exploits/40937"},{"url":"https://github.com/advisories/GHSA-5hh7-vqxx-v3cj"},{"url":"https://ubuntu.com/security/CVE-2016-9949","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3157-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2016-9949","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-9950","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2016-9951","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2016-9949","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","status":"published","published":"2016-12-17T03:34:00Z","modified":"2024-08-06T03:07:31.413Z","updated_at":"2026-11-02T14:33:31.764001Z"}],"euvd":[{"id":"EUVD-2016-10736","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","status":"published","published":"2016-12-17T03:34:00Z","modified":"2024-08-06T03:07:31Z","updated_at":"2026-11-03T02:22:25.833438Z"}],"ghsa":[{"id":"GHSA-5hh7-vqxx-v3cj","title":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field...","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","status":"published","published":"2022-05-17T03:05:26Z","modified":"2025-04-12T13:08:40Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T15:01:30.991417Z"}],"nvd":[{"id":"CVE-2016-9949","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","status":"published","published":"2016-12-17T03:59:00.297Z","modified":"2026-06-17T00:56:49.167Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":9.3,"vector":"AV:N/AC:M/Au:N/C:C/I:C/A:C","level":"high","assessor":"primary"}],"cwes":["CWE-94"],"updated_at":"2026-11-02T14:03:32.79141Z"}],"osv":[{"id":"UBUNTU-CVE-2016-9949","description":"An issue was discovered in Apport before 2.20.4. In apport/ui.py, Apport reads the CrashDB field and it then evaluates the field as Python code if it begins with a \"{\". This allows remote attackers to execute arbitrary Python code.","status":"published","published":"2016-12-14T00:00:00Z","modified":"2026-02-04T03:41:06.629395Z","cvss":[{"version":"3.0","score":7.8,"vector":"CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:54:13.356796Z"},{"id":"USN-3157-1","title":"apport vulnerabilities","description":"Donncha O Cearbhaill discovered that the crash file parser in Apport\nimproperly treated the CrashDB field as python code. An attacker could\nuse this to convince a user to open a maliciously crafted crash file\nand execute arbitrary code with the privileges of that user. This issue\nonly affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2016-9949)\n\nDonncha O Cearbhaill discovered that Apport did not properly sanitize the\nPackage and SourcePackage fields in crash files before processing package\nspecific hooks. An attacker could use this to convince a user to open a\nmaliciously crafted crash file and execute arbitrary code with the\nprivileges of that user. (CVE-2016-9950)\n\nDonncha O Cearbhaill discovered that Apport would offer to restart an\napplication based on the contents of the RespawnCommand or ProcCmdline\nfields in a crash file. An attacker could use this to convince a user to\nopen a maliciously crafted crash file and execute arbitrary code with the\nprivileges of that user. (CVE-2016-9951)\n","status":"published","published":"2016-12-14T22:15:07Z","modified":"2026-02-10T04:41:03Z","updated_at":"2026-11-02T16:58:10.303275Z"}]}}
