CVE-2017-14177
High · 7.8CVSS
7.8
EPSS
0.4%
Published
Feb 2, 2018
CISA due date
—
Cloudanix analysis
A flaw in Ubuntu's crash-reporting tool lets a regular user create important system files or fill up the disk, which could crash the computer or let the user take full control.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Apport fails to sanitize core dumps originating from setuid binaries, permitting a local process to direct the creation of arbitrary files with root ownership and permissions; the incomplete remediation of CVE-2015-1324 allows subsequent resource exhaustion or escalation to root.
Why it matters to the business
On unpatched Ubuntu systems an unprivileged user can exhaust disk or inode resources or obtain full administrative control, resulting in service outages, data loss, or complete system takeover; the issue has been public for years with no known active campaigns but still requires verification on legacy deployments.
How an attack unfolds
An attacker on a local Ubuntu host executes a setuid binary that crashes, triggering Apport; by supplying a crafted core dump or environment the attacker causes Apport to write chosen files as root, which can be leveraged to overwrite critical configuration or binaries for denial of service or privilege escalation.
How to fix it
Upgrade the apport package to a version containing the complete fix for both CVE-2015-1324 and CVE-2017-14177; if a fixed package is unavailable, disable core-dump handling for setuid binaries or remove the apport package entirely until an update can be applied.
How to confirm the fix worked
Confirm the installed apport package version is newer than 2.20.7 and that the setuid core-dump code path has been removed or properly restricted; test by attempting to crash a setuid binary and verifying that no unexpected root-owned files are created in /var/crash or other writable locations.
Typical attack path
- Obtain local shell access on an affected Ubuntu system
- Invoke a setuid binary in a way that forces a crash and core-dump generation
- Manipulate Apport's handling of the core dump to create or overwrite files owned by root
- Use the newly created root-owned artifacts to exhaust resources or replace system binaries
- Escalate to root or induce denial of service
How to detect it
Review /var/log/apport.log and /var/crash for entries showing core-dump processing of setuid binaries; inspect file-creation timestamps and ownership of files written during apport execution; correlate with auth.log for unexpected root-owned file modifications around the same time.
What your security team should do
- Inventory all Ubuntu systems and identify those still running apport <= 2.20.7
- Apply the latest apport updates from Canonical repositories immediately
- Disable apport for setuid processes via configuration if patching is delayed
- Monitor package update channels for any remaining legacy releases
The record
Apport through 2.20.7 does not properly handle core dumps from setuid binaries allowing local users to create certain files as root which an attacker could leverage to perform a denial of service via resource exhaustion or possibly gain root privileges. NOTE: this vulnerability exists because of an incomplete fix for CVE-2015-1324.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:14.04:LTS | apport | 0 | 2.14.1-0ubuntu3.27 |
| Ubuntu:16.04:LTS | apport | 0 | 2.20.1-0ubuntu2.12 |
Related vulnerabilities
- CVE-2021-25682 It was discovered that the get_pid_info() function in data/apport did not properly parse… Also affects apport
- CVE-2020-11936 gdbus setgid privilege escalation Also affects apport
- CVE-2020-8831 Apport creates a world writable lock file with root ownership in the world writable… Also affects apport
- CVE-2019-11481 Kevin Backhouse discovered that apport would read a user-supplied configuration file with… Also affects apport
- CVE-2019-7307 Apport before versions 2.14.1-0ubuntu3.29+esm1, 2.20.1-0ubuntu2.19, 2.20.9-0ubuntu7.7… Also affects apport
- CVE-2015-1341 Any Python module in sys.path can be imported if the command line of the process… Also affects apport
- CVE-2018-6552 Apport does not properly handle crashes originating from a PID namespace allowing local… Also affects apport
- CVE-2015-1324 Apport before 2.17.2-0ubuntu1.1 as packaged in Ubuntu 15.04, before 2.14.70ubuntu8.5 as… Also affects apport