CVE-2015-7543: Race Condition

Published Nov 12, 2015
·
Updated

aRts 1.5.10 and kdelibs3 3.5.10 and earlier do not properly create temporary directories, which allows local users to hijack the IPC by pre-creating the temporary directory.

Other sources

Description of problem: aRts and kdelibs3 each use their own copy of the same "lnusertemp" code to create a user-specific socket directory for IPC. If the usual location, which is well-known, is unavailable, a random directory name is created with mktemp(3). A malicious process could therefore create the well-known location to force the race condition inherit in mktemp(3), and then potentially beat it in order to hijack the IPC of aRts and/or KDE.

Version-Release number of selected component (if applicable): arts-1.5.10-26.fc22.x8664 kdelibs3-3.5.10-68.fc22.x8664 (I believe all versions of Fedora are affected, as well as RHEL 5 and 6)

Steps to Reproduce: (Warning: Do NOT try this during a KDE session!) 0. KSOCKETDIR=/tmp/ksocket-id -un 1. rm -f ~/.kde/socket-$HOSTNAME # (not strictly necessary but does cause this to be logged with 'artsd -l 0') 2. rm -fr $KSOCKETDIR && touch $KSOCKETDIR OR: su -c "mkdir -m 0700 $KSOCKETDIR" [OTHERUSER] 3. artsd -l 0 -a alsa OR: kdeinit OR: lnusertemp socket

Actual results: A ${KSOCKETDIR}XXXXXX directory is created by mktemp(3), with all the usual implications, then symlinked to ~/.kde/socket-$HOSTNAME.

Expected results: mkdtemp(3) should be used to create the fallback socket directory instead of mktemp(3).

Additional info: This was fixed upstream in commit cc5515ed7ce8884c9b18169158ba29ab2f7a3db7 (together with a bunch of unrelated changes) during the Qt3->4 porting phase, so kdelibs-4.x should never have been affected by itself. However, if the socket directory is created first by aRts or KDE3, as long as it exists it would also be used by KDE4 processes.

The relevant part of said commit should backport easily to both arts (mcop/mcoputils.cc) and kdelibs3 (kinit/lnusertemp.c):

https://quickgit.kde.org/?p=kdelibs.git&a=blobdiff&h=8c0f6401271c495c68e340e06b09239eb755ce5e&hp=45b72f0d5c3421b571e9515497352a0a9942a075&hb=cc5515ed7ce8884c9b18169158ba29ab2f7a3db7&f=kinit%2Flnusertemp.c

Red Hat

Affected Software

2 affected components
Artsproject Arts=1.5.10
KDE kdelibs<=3.5.10

Event History

Nov 12, 2015
Data Sourced
03:06 AM
DescriptionSeverityAffected Software
Jul 25, 2017
CVE Published
via MITRE·02:00 PM
Data Sourced
via MITRE·02:00 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2015-7543?

CVE-2015-7543 is considered a medium severity vulnerability.

2

How do I fix CVE-2015-7543?

To mitigate CVE-2015-7543, users should upgrade to aRts version 1.5.11 or later and ensure they are using KDE kdelibs3 version 3.5.11 or later.

3

Who is affected by CVE-2015-7543?

Local users of aRts 1.5.10 and kdelibs3 versions up to 3.5.10 are affected by CVE-2015-7543.

4

What could an attacker do with CVE-2015-7543?

An attacker could potentially hijack IPC communications by pre-creating the temporary directory used by aRts or kdelibs3.

5

Is CVE-2015-7543 a network-based vulnerability?

No, CVE-2015-7543 is a local vulnerability that requires access to the affected system.

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