CVE-2012-0871: Race Condition

Published Feb 21, 2012
·
Updated

Sebastian Krahmer of the SUSE Security Team reported that systemd-logind, a part of the systemd service and system manager, did not create certain special files in a secure way. systemd-logind is responsible for managing and tracking user login sessions, and if a user were to log into the X11 desktop, it creates entries in /run/user/[username]/X11, where /run/user/[username] is a user-owned directory. Because systemd-logind does not create the entries in a secure fashion, a malicious user could replace /run/user/[username]/X11 with a symlink to another root-owned directory, such as /etc/pam.d or /etc/cron.d. This would cause a symlink named "display" to be created in the target directory, which is a symlink to a user-owned file (/tmp/.X11-unix/X0). Using further attack vectors and this symlink, the malicious user could obtain a root shell, if he could beat two separate race conditions.

Acknowledgements:

Red Hat would like to thank Sebastian Krahmer of the SUSE Security Team for reporting this issue.

Other sources

The sessionlinkx11socket function in login/logind-session.c in systemd-logind in systemd, possibly 37 and earlier, allows local users to create or overwrite arbitrary files via a symlink attack on the X11 user directory in /run/user/.

MITRE

Affected Software

38 affected components
Systemd Project Systemd<=037
Systemd Project Systemd=1
Systemd Project Systemd=2
Systemd Project Systemd=3
Systemd Project Systemd=4
Systemd Project Systemd=5
Systemd Project Systemd=6
Systemd Project Systemd=7
Systemd Project Systemd=8
Systemd Project Systemd=9
Systemd Project Systemd=10
Systemd Project Systemd=11
Systemd Project Systemd=12
Systemd Project Systemd=13
Systemd Project Systemd=14
Systemd Project Systemd=15
Systemd Project Systemd=16
Systemd Project Systemd=17
Systemd Project Systemd=18
Systemd Project Systemd=19
Systemd Project Systemd=20
Systemd Project Systemd=21
Systemd Project Systemd=22
Systemd Project Systemd=23
Systemd Project Systemd=24
Systemd Project Systemd=25
Systemd Project Systemd=26
Systemd Project Systemd=27
Systemd Project Systemd=28
Systemd Project Systemd=29
Systemd Project Systemd=30
Systemd Project Systemd=31
Systemd Project Systemd=32
Systemd Project Systemd=33
Systemd Project Systemd=34
Systemd Project Systemd=35
Systemd Project Systemd=36
openSUSE openSUSE=12.1

Event History

Feb 21, 2012
Data Sourced
via Red Hat·04:28 PM
DescriptionSeverityAffected Software
Apr 18, 2014
CVE Published
via MITRE·02:00 PM
Data Sourced
via MITRE·02:00 PM
Description
Data Sourced
via NVD·02:55 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2012-0871?

CVE-2012-0871 is classified as a medium severity vulnerability.

2

How do I fix CVE-2012-0871?

To fix CVE-2012-0871, update systemd to a version later than 37 which contains the security fix.

3

What software versions are affected by CVE-2012-0871?

CVE-2012-0871 affects systemd versions up to and including 37.

4

What type of vulnerability is CVE-2012-0871?

CVE-2012-0871 is a security vulnerability related to improper file permissions in systemd-logind.

5

Who reported CVE-2012-0871?

CVE-2012-0871 was reported by Sebastian Krahmer of the SUSE Security Team.

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