CVE-2015-3315: Race Condition

Published Apr 15, 2015
·
Updated

Automatic Bug Reporting Tool (ABRT) allows local users to read, change the ownership of, or have other unspecified impact on arbitrary files via a symlink attack on (1) /var/tmp/abrt//maps, (2) /tmp/jvm-/hserror.log, (3) /proc//exe, (4) /etc/os-release in a chroot, or (5) an unspecified root directory related to librpm.

Other sources

The following flaws were reported by Tavis Oramandy:

Furthermore, Abrt suffers from numerous race conditions and symlink problems from trusting unprivileged programs. For example, the code below (and lots of similar code) is vulnerable to a filesystem race where a user unlinks the file after the copy but before the chown. https://github.com/abrt/abrt/blob/master/src/hooks/abrt-hook-ccpp.c#L634

strcpy(sourcefilename + sourcebaseofs, "maps"); strcpy(destbase, FILENAMEMAPS); copyfile(sourcefilename, destfilename, DEFAULTDUMPDIRMODE); IGNORERESULT(chown(destfilename, dd->dduid, dd->ddgid));

This code trusts various symlinks in /tmp without validation:

https://github.com/abrt/abrt/blob/master/src/hooks/abrt-hook-ccpp.c#L806

char javalog = xasprintf("/tmp/jvm-%lu/hserror.log", (long)pid); int srcfd = open(javalog, ORDONLY); free(javalog);

This code trusts the /proc/pid/exe symlink, even though it is possible to link it anywhere you want.

https://github.com/abrt/abrt/blob/master/src/hooks/abrt-hook-ccpp.c#L368

sprintf(buf, "/proc/%lu/exe", (long)pid); int srcfdbinary = open(buf, ORDONLY); / might fail and return -1, it's ok /

This code trusts the attacker controlled root symlink and copies files from it.

https://github.com/abrt/libreport/blob/master/src/lib/dumpdir.c#L671

if (chrootdir) copyfilefromchroot(dd, FILENAMEOSINFOINROOTDIR, chrootdir, "/etc/os-release");

This instructs librpm to trust an unprivileged root symlink:

https://github.com/abrt/abrt/blob/master/src/daemon/rpm.c#L184

if (rpmtsSetRootDir(ts, rootdirorNULL) != 0) { rpmtsFree(ts); return -1; }

And so on.

There are other automatic crash analysis scripts, I believe systemd also has one - I haven't looked at it all.

Mitigation:

It is recommended to disable abrt via the following command line, till the flaws have been resolved: sysctl -w kern.corepattern=core

Note: This will reset, if abrt is re-started.

Red Hat

Affected Software

7 affected components
redhat Automatic Bug Reporting Tool
redhat Enterprise Linux Desktop=7.0
redhat Enterprise Linux Hpc Node=7.0
redhat Enterprise Linux Hpc Node Eus=7.1
redhat Enterprise Linux Server=7.0
redhat Enterprise Linux Server Eus=7.1
redhat Enterprise Linux Workstation=7.0

Event History

Apr 15, 2015
Data Sourced
via Red Hat·05:18 AM
DescriptionSeverityAffected Software
Jun 26, 2017
CVE Published
via MITRE·03:00 PM
Data Sourced
via MITRE·03:00 PM
Description

Frequently Asked Questions

1

What is the severity of CVE-2015-3315?

CVE-2015-3315 is classified as a moderate severity vulnerability.

2

How do I fix CVE-2015-3315?

To mitigate CVE-2015-3315, update the Automatic Bug Reporting Tool to the latest version that includes the security patch.

3

Who is affected by CVE-2015-3315?

CVE-2015-3315 affects local users on systems running vulnerable versions of Red Hat Automatic Bug Reporting Tool.

4

What risks are associated with CVE-2015-3315?

The risks associated with CVE-2015-3315 include unauthorized access to sensitive files and potential manipulation of important system data.

5

Is CVE-2015-3315 present in all Red Hat versions?

No, CVE-2015-3315 specifically affects certain older versions of Red Hat, such as the Automatic Bug Reporting Tool.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203