CVE-2018-6954
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path...
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
CVE-2018-6954- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.2 High
AV:L/AC:L/Au:N/C:C/I:C/A:C - Weakness
- CWE-59
- Updated
- 2026-11-02
CVE List
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
CVE-2018-6954- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-59
- Updated
- 2026-11-02
EUVDEUVD-2018-18698
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
EUVD-2018-18698- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fgm4-rh7c-g9fg
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path...
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
GHSA-fgm4-rh7c-g9fg- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-59
- Updated
- 2026-11-02
OSV
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
CVE-2018-6954- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2018-6954
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
DEBIAN-CVE-2018-6954- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 7 moreShow less
OSVUBUNTU-CVE-2018-6954
7.8
systemd-tmpfiles in systemd through 237 mishandles symlinks present in non-terminal path components, which allows local users to obtain ownership of arbitrary files via vectors involving creation of a directory and a file under that directory, and later replacing that directory with a symlink. This occurs even if the fs.protected_symlinks sysctl is turned on.
- Record
UBUNTU-CVE-2018-6954- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 3.0
- 7.8 High
CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2019:0098-1 No score
Security update for systemd
This update for systemd provides the following fixes:
Security issues fixed:
- CVE-2018-16864, CVE-2018-16865: Fixed two memory corruptions through attacker-controlled alloca()s (bsc#1120323)
- CVE-2018-16866: Fixed an information leak in journald (bsc#1120323)
- CVE-2018-6954: Fix mishandling of symlinks present in non-terminal path components (bsc#1080919)
- Fixed an issue during system startup in relation to encrypted swap disks (bsc#1119971)
Non-security issues fixed:
- pam_systemd: Fix 'Cannot create session: Already running in a session' (bsc#1111498)
- systemd-vconsole-setup: vconsole setup fails, fonts will not be copied to tty (bsc#1114933)
- systemd-tmpfiles-setup: symlinked /tmp to /var/tmp breaking multiple units (bsc#1045723)
- Fixed installation issue with /etc/machine-id during update (bsc#1117063)
- btrfs: qgroups are assigned to parent qgroups after reboot (bsc#1093753)
- logind: Stop managing VT switches if no sessions are registered on that VT. (bsc#1101591)
- udev: Downgrade message when settting inotify watch up fails. (bsc#1005023)
- udev: Ignore the exit code of systemd-detect-virt for memory hot-add. In SLE-12-SP3, 80-hotplug-cpu-mem.rules has a memory hot-add rule that uses systemd-detect-virt to detect non-zvm environment. The systemd-detect-virt returns exit failure code when it detected none state. The exit failure code causes that the hot-add memory block can not be set to online. (bsc#1076696)
This update was imported from the SUSE:SLE-15:Update update project.
- Record
openSUSE-SU-2019:0098-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11420-1 No score
libsystemd0-249.4-2.2 on GA media
These are all security issues fixed in the libsystemd0-249.4-2.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11420-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:0137-1 No score
Security update for systemd
This update for systemd provides the following fixes:
Security issues fixed:
- CVE-2018-16864, CVE-2018-16865: Fixed two memory corruptions through attacker-controlled alloca()s (bsc#1120323)
- CVE-2018-16866: Fixed an information leak in journald (bsc#1120323)
- CVE-2018-6954: Fix mishandling of symlinks present in non-terminal path components (bsc#1080919)
- Fixed an issue during system startup in relation to encrypted swap disks (bsc#1119971)
Non-security issues fixed:
- pam_systemd: Fix 'Cannot create session: Already running in a session' (bsc#1111498)
- systemd-vconsole-setup: vconsole setup fails, fonts will not be copied to tty (bsc#1114933)
- systemd-tmpfiles-setup: symlinked /tmp to /var/tmp breaking multiple units (bsc#1045723)
- Fixed installation issue with /etc/machine-id during update (bsc#1117063)
- btrfs: qgroups are assigned to parent qgroups after reboot (bsc#1093753)
- logind: Stop managing VT switches if no sessions are registered on that VT. (bsc#1101591)
- udev: Downgrade message when settting inotify watch up fails. (bsc#1005023)
- udev: Ignore the exit code of systemd-detect-virt for memory hot-add. In SLE-12-SP3, 80-hotplug-cpu-mem.rules has a memory hot-add rule that uses systemd-detect-virt to detect non-zvm environment. The systemd-detect-virt returns exit failure code when it detected none state. The exit failure code causes that the hot-add memory block can not be set to online. (bsc#1076696)
- Record
SUSE-SU-2019:0137-1- Updated
- 2026-11-02
OSVSUSE-SU-2019:1265-1 No score
Security update for systemd
This update for systemd fixes the following issues:
Security issues fixed:
- CVE-2018-6954: Fixed a vulnerability in the symlink handling of systemd-tmpfiles which allowed a local user to obtain ownership of arbitrary files (bsc#1080919).
- CVE-2019-3842: Fixed a vulnerability in pam_systemd which allowed a local user to escalate privileges (bsc#1132348).
- CVE-2019-6454: Fixed a denial of service caused by long dbus messages (bsc#1125352).
Non-security issues fixed:
- systemd-coredump: generate a stack trace of all core dumps (jsc#SLE-5933)
- udevd: notify when max number value of children is reached only once per batch of events (bsc#1132400)
- sd-bus: bump message queue size again (bsc#1132721)
- core: only watch processes when it's really necessary (bsc#955942 bsc#1128657)
- rules: load drivers only on 'add' events (bsc#1126056)
- sysctl: Don't pass null directive argument to '%s' (bsc#1121563)
- Do not automatically online memory on s390x (bsc#1127557)
- Record
SUSE-SU-2019:1265-1- Updated
- 2026-11-02
OSVUSN-3816-1 No score
systemd vulnerabilities
Jann Horn discovered that unit_deserialize incorrectly handled status messages above a certain length. A local attacker could potentially exploit this via NotifyAccess to inject arbitrary state across re-execution and obtain root privileges. (CVE-2018-15686)
Jann Horn discovered a race condition in chown_one(). A local attacker could potentially exploit this by setting arbitrary permissions on certain files to obtain root privileges. This issue only affected Ubuntu 18.04 LTS and Ubuntu 18.10. (CVE-2018-15687)
It was discovered that systemd-tmpfiles mishandled symlinks in non-terminal path components. A local attacker could potentially exploit this by gaining ownership of certain files to obtain root privileges. This issue only affected Ubuntu 16.04 LTS and Ubuntu 18.04 LTS. (CVE-2018-6954)
- Record
USN-3816-1- Updated
- 2026-11-02
OSVUSN-3816-2 No score
systemd vulnerability
USN-3816-1 fixed several vulnerabilities in systemd. However, the fix for CVE-2018-6954 was not sufficient. This update provides the remaining fixes.
We apologize for the inconvenience.
Original advisory details:
Jann Horn discovered that unit_deserialize incorrectly handled status messages above a certain length. A local attacker could potentially exploit this via NotifyAccess to inject arbitrary state across re-execution and obtain root privileges. (CVE-2018-15686)
Jann Horn discovered a race condition in chown_one(). A local attacker could potentially exploit this by setting arbitrary permissions on certain files to obtain root privileges. This issue only affected Ubuntu 18.04 LTS and Ubuntu 18.10. (CVE-2018-15687)
It was discovered that systemd-tmpfiles mishandled symlinks in non-terminal path components. A local attacker could potentially exploit this by gaining ownership of certain files to obtain root privileges. This issue only affected Ubuntu 16.04 LTS and Ubuntu 18.04 LTS. (CVE-2018-6954)
- Record
USN-3816-2- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
systemdDebian:12 |
before 238-1 | 238-1 |
systemdDebian:13 |
before 238-1 | 238-1 |
systemdDebian:14 |
before 238-1 | 238-1 |
systemdSUSE:Linux Enterprise Module for Basesystem 15 |
before 234-24.20.1 | 234-24.20.1 |
systemdSUSE:OpenStack Cloud 7 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Desktop 12 SP3 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Desktop 12 SP4 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server for SAP Applications 12 SP2 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Software Development Kit 12 SP3 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Software Development Kit 12 SP4 |
before 228-150.66.4 | 228-150.66.4 |
Show 15 moreShow less
| Package | Affected | Fixed |
|---|---|---|
systemdSUSE:Linux Enterprise Server 12 SP2-LTSS |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server 12 SP2-BCL |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server 12 SP3 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server for SAP Applications 12 SP3 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server 12 SP4 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Linux Enterprise Server for SAP Applications 12 SP4 |
before 228-150.66.4 | 228-150.66.4 |
systemdSUSE:Enterprise Storage 4 |
before 228-150.66.4 | 228-150.66.4 |
systemdUbuntu:16.04:LTS |
before 229-4ubuntu21.15, plus listed versions 225-1ubuntu9227-2ubuntu1227-2ubuntu2228-1ubuntu2228-2ubuntu1 Show 37 moreShow less228-2ubuntu2228-3ubuntu1228-4ubuntu1228-4ubuntu2228-5ubuntu1228-5ubuntu2228-5ubuntu3228-6ubuntu1229-1ubuntu2229-1ubuntu4229-2ubuntu1229-3ubuntu1229-3ubuntu2229-4ubuntu1229-4ubuntu4229-4ubuntu5229-4ubuntu6229-4ubuntu7229-4ubuntu8229-4ubuntu10229-4ubuntu11229-4ubuntu12229-4ubuntu13229-4ubuntu16229-4ubuntu17229-4ubuntu19229-4ubuntu20229-4ubuntu21229-4ubuntu21.1229-4ubuntu21.2229-4ubuntu21.3229-4ubuntu21.4229-4ubuntu21.5229-4ubuntu21.6229-4ubuntu21.8229-4ubuntu21.9229-4ubuntu21.10 |
229-4ubuntu21.15 |
systemdUbuntu:18.04:LTS |
before 237-3ubuntu10.9, plus listed versions 234-2ubuntu12235-2ubuntu3235-3ubuntu2235-3ubuntu3237-3ubuntu3 Show 9 moreShow less237-3ubuntu4237-3ubuntu6237-3ubuntu7237-3ubuntu8237-3ubuntu10237-3ubuntu10.2237-3ubuntu10.3237-3ubuntu10.4237-3ubuntu10.6 |
237-3ubuntu10.9 |
systemdUbuntu:16.04:LTS |
before 229-4ubuntu21.8, plus listed versions 225-1ubuntu9227-2ubuntu1227-2ubuntu2228-1ubuntu2228-2ubuntu1 Show 34 moreShow less228-2ubuntu2228-3ubuntu1228-4ubuntu1228-4ubuntu2228-5ubuntu1228-5ubuntu2228-5ubuntu3228-6ubuntu1229-1ubuntu2229-1ubuntu4229-2ubuntu1229-3ubuntu1229-3ubuntu2229-4ubuntu1229-4ubuntu4229-4ubuntu5229-4ubuntu6229-4ubuntu7229-4ubuntu8229-4ubuntu10229-4ubuntu11229-4ubuntu12229-4ubuntu13229-4ubuntu16229-4ubuntu17229-4ubuntu19229-4ubuntu20229-4ubuntu21229-4ubuntu21.1229-4ubuntu21.2229-4ubuntu21.3229-4ubuntu21.4229-4ubuntu21.5229-4ubuntu21.6 |
229-4ubuntu21.8 |
systemdUbuntu:18.04:LTS |
before 237-3ubuntu10.6, plus listed versions 234-2ubuntu12235-2ubuntu3235-3ubuntu2235-3ubuntu3237-3ubuntu3 Show 8 moreShow less237-3ubuntu4237-3ubuntu6237-3ubuntu7237-3ubuntu8237-3ubuntu10237-3ubuntu10.2237-3ubuntu10.3237-3ubuntu10.4 |
237-3ubuntu10.6 |
systemdUbuntu:16.04:LTS |
before 229-4ubuntu21.9, plus listed versions 225-1ubuntu9227-2ubuntu1227-2ubuntu2228-1ubuntu2228-2ubuntu1 Show 35 moreShow less228-2ubuntu2228-3ubuntu1228-4ubuntu1228-4ubuntu2228-5ubuntu1228-5ubuntu2228-5ubuntu3228-6ubuntu1229-1ubuntu2229-1ubuntu4229-2ubuntu1229-3ubuntu1229-3ubuntu2229-4ubuntu1229-4ubuntu4229-4ubuntu5229-4ubuntu6229-4ubuntu7229-4ubuntu8229-4ubuntu10229-4ubuntu11229-4ubuntu12229-4ubuntu13229-4ubuntu16229-4ubuntu17229-4ubuntu19229-4ubuntu20229-4ubuntu21229-4ubuntu21.1229-4ubuntu21.2229-4ubuntu21.3229-4ubuntu21.4229-4ubuntu21.5229-4ubuntu21.6229-4ubuntu21.8 |
229-4ubuntu21.9 |
systemdopenSUSE:Leap 15.0 |
before 234-lp150.20.12.1 | 234-lp150.20.12.1 |
systemd-miniopenSUSE:Leap 15.0 |
before 234-lp150.20.12.1 | 234-lp150.20.12.1 |
systemdopenSUSE:Tumbleweed |
before 249.4-2.2 | 249.4-2.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2018-6954 is a high vulnerability (CVSS 7.8) in Systemd Project Systemd, published February 13, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 44th percentile. Fixed in systemd 238-1.
References
usn.ubuntu.com/3816-2
github.com/systemd/systemd/issues/7986
usn.ubuntu.com/3816-1
lists.opensuse.org/opensuse-security-announce/2019-05/msg00062.html
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3E
Show 56 moreShow less
nvd.nist.gov/vuln/detail/CVE-2018-6954
lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b@%3Cissues.bookkeeper.apache.org%3E
lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4@%3Cissues.bookkeeper.apache.org%3E
github.com/advisories/GHSA-fgm4-rh7c-g9fg
security-tracker.debian.org/tracker/CVE-2018-6954
suse.com/support/update/announcement/2019/suse-su-20190137-1
bugzilla.suse.com/1005023
bugzilla.suse.com/1045723
bugzilla.suse.com/1076696
bugzilla.suse.com/1080919
bugzilla.suse.com/1093753
bugzilla.suse.com/1101591
bugzilla.suse.com/1111498
bugzilla.suse.com/1114933
bugzilla.suse.com/1117063
bugzilla.suse.com/1119971
bugzilla.suse.com/1120323
suse.com/security/cve/CVE-2018-16864
suse.com/security/cve/CVE-2018-16865
suse.com/security/cve/CVE-2018-16866
suse.com/security/cve/CVE-2018-6954
suse.com/support/update/announcement/2019/suse-su-20191265-1
bugzilla.suse.com/1121563
bugzilla.suse.com/1125352
bugzilla.suse.com/1126056
bugzilla.suse.com/1127557
bugzilla.suse.com/1128657
bugzilla.suse.com/1130230
bugzilla.suse.com/1132348
bugzilla.suse.com/1132400
bugzilla.suse.com/1132721
bugzilla.suse.com/955942
suse.com/security/cve/CVE-2019-3842
suse.com/security/cve/CVE-2019-6454
bugzilla.suse.com/SLE-5933
ubuntu.com/security/CVE-2018-6954
ubuntu.com/security/notices/USN-3816-1
ubuntu.com/security/notices/USN-3816-2
cve.org/CVERecord?id=CVE-2018-6954
ubuntu.com/security/CVE-2018-15686
ubuntu.com/security/CVE-2018-15687
lists.opensuse.org/archives/list/[email protected]/thread/KDEM25CHZWMRDGDYZ23LBZGMPWA63D2Y
suse.com/security/cve/CVE-2016-10156
suse.com/security/cve/CVE-2017-15908
suse.com/security/cve/CVE-2017-18078
suse.com/security/cve/CVE-2017-9445
suse.com/security/cve/CVE-2018-15686
suse.com/security/cve/CVE-2018-15687
suse.com/security/cve/CVE-2018-15688
suse.com/security/cve/CVE-2018-21029
suse.com/security/cve/CVE-2019-20386
suse.com/security/cve/CVE-2019-3843
suse.com/security/cve/CVE-2019-3844
suse.com/security/cve/CVE-2020-13529
suse.com/security/cve/CVE-2020-1712
suse.com/security/cve/CVE-2021-33910