CVE-2019-12749
High · 7.1CVSS
7.1
EPSS
0.5%
Published
Jun 11, 2019
CISA due date
—
Cloudanix analysis
A local user could trick a system service into accepting a fake identity, letting them access parts of the system they should not reach.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Symlink mishandling in the DBUS_COOKIE_SHA1 authentication mechanism allows a local client with write access to its home directory to redirect a DBusServer (running under a different UID) to read attacker-controlled keyring data, enabling reuse of a known cookie and subsequent authentication bypass.
Why it matters to the business
Attackers on the same system can obtain unauthorized access to inter-process communication channels used by system services, potentially exposing sensitive operations or enabling further local privilege escalation with minimal user interaction.
How an attack unfolds
A local attacker creates a malicious symlink under ~/.dbus-keyrings pointing to a location they control, forces the target DBusServer to load a cookie they already know, then connects using that cookie; the server accepts the connection as originating from the attacker-chosen UID, completing the bypass.
How to fix it
Upgrade dbus to version 1.10.28 or newer, 1.12.16 or newer, or 1.13.12 or newer; the reference implementation contains the fix in commit 983e62be144c3615bd44feb9850dc4ccd797e3b8. Restart all services that embed or link against libdbus after the update.
How to confirm the fix worked
Verify the installed dbus package reports a version at or above the fixed releases, confirm the presence of the symlink-handling changes in the DBUS_COOKIE_SHA1 code path, and test that a non-root user cannot influence keyring paths used by a root-owned DBusServer.
Typical attack path
- Obtain local shell or process execution under a non-privileged UID
- Write a crafted symlink in the user's ~/.dbus-keyrings directory
- Trigger or wait for a connection attempt from the target DBusServer
- Present the pre-known cookie during the DBUS_COOKIE_SHA1 exchange
- Gain authenticated access to the DBusServer's message bus
How to detect it
Examine authentication logs from dbus-daemon or Upstart for unexpected UID transitions during COOKIE_SHA1 sessions; review file-system audit trails for symlink creation inside user home directories that coincide with dbus connections from higher-privileged processes.
What your security team should do
- Apply the dbus package update to all affected systems within standard change windows
- Audit local user home directories for unexpected symlinks under .dbus-keyrings
- Review any custom or embedded uses of DBUS_COOKIE_SHA1 authentication and migrate to stronger mechanisms where possible
- Monitor for future dbus releases and include the package in routine vulnerability scanning
The record
dbus before 1.10.28, 1.12.x before 1.12.16, and 1.13.x before 1.13.12, as used in DBusServer in Canonical Upstart in Ubuntu 14.04 (and in some, less common, uses of dbus-daemon), allows cookie spoofing because of symlink mishandling in the reference implementation of DBUS_COOKIE_SHA1 in the libdbus library. (This only affects the DBUS_COOKIE_SHA1 authentication mechanism.) A malicious client with write access to its own home directory could manipulate a ~/.dbus-keyrings symlink to cause a DBusServer with a different uid to read and write in unintended locations. In the worst case, this could result in the DBusServer reusing a cookie that is known to the malicious client, and treating that cookie as evidence that a subsequent client connection came from an attacker-chosen uid, allowing authentication bypass.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.11 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.12 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.13 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.14 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.15 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.16 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.17 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.18 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.19 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.20 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.21 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.22 | dbus | 0 | 1.12.16-r0 |
| Alpine:v3.7 | dbus | 0 | 1.10.28-r0 |
| Alpine:v3.8 | dbus | 0 | 1.10.28-r0 |
| Alpine:v3.9 | dbus | 0 | 1.10.28-r0 |
| Debian:11 | dbus | 0 | 1.12.16-1 |
| Debian:12 | dbus | 0 | 1.12.16-1 |
| Debian:13 | dbus | 0 | 1.12.16-1 |
| Debian:8 | dbus | 0 | 1.8.22-0+deb8u2 |
| Debian:9 | dbus | 0 | 1.10.28-0+deb9u1 |
| Mageia:7 | dbus | 0 | 1.13.8-4.1.mga7 |
| Red Hat:enterprise_linux:6::client | dbus | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::client | dbus-debuginfo | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::client | dbus-devel | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::client | dbus-doc | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::client | dbus-libs | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::client | dbus-x11 | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus-debuginfo | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus-devel | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus-doc | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus-libs | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::computenode | dbus-x11 | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus-debuginfo | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus-devel | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus-doc | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus-libs | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::server | dbus-x11 | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus-debuginfo | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus-devel | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus-doc | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus-libs | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:6::workstation | dbus-x11 | 0 | 1:1.2.24-11.el6_10 |
| Red Hat:enterprise_linux:7::client | dbus | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-debuginfo | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-devel | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-doc | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-libs | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-tests | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::client | dbus-x11 | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-debuginfo | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-devel | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-doc | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-libs | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-tests | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::computenode | dbus-x11 | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-debuginfo | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-devel | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-doc | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-libs | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-tests | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::server | dbus-x11 | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-debuginfo | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-devel | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-doc | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-libs | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-tests | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:7::workstation | dbus-x11 | 0 | 1:1.10.24-15.el7 |
| Red Hat:enterprise_linux:8::appstream | dbus | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-common | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-daemon | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-daemon-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-debugsource | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-devel | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-libs | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-libs-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-tests-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-tools | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-tools-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-x11 | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::appstream | dbus-x11-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-common | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-daemon | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-daemon-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-debugsource | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-devel | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-libs | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-libs-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-tests-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-tools | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-tools-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-x11 | 0 | 1:1.12.8-9.el8 |
| Red Hat:enterprise_linux:8::baseos | dbus-x11-debuginfo | 0 | 1:1.12.8-9.el8 |
| Red Hat:rhel_aus:6.5::server | dbus | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.5::server | dbus-debuginfo | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.5::server | dbus-devel | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.5::server | dbus-doc | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.5::server | dbus-libs | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.5::server | dbus-x11 | 0 | 1:1.2.24-9.el6_5 |
| Red Hat:rhel_aus:6.6::server | dbus | 0 | 1:1.2.24-9.el6_6 |
| Red Hat:rhel_aus:6.6::server | dbus-debuginfo | 0 | 1:1.2.24-9.el6_6 |
| Red Hat:rhel_aus:6.6::server | dbus-devel | 0 | 1:1.2.24-9.el6_6 |
| Red Hat:rhel_aus:6.6::server | dbus-doc | 0 | 1:1.2.24-9.el6_6 |
| Red Hat:rhel_aus:6.6::server | dbus-libs | 0 | 1:1.2.24-9.el6_6 |
| Red Hat:rhel_aus:6.6::server | dbus-x11 | 0 | 1:1.2.24-9.el6_6 |
| SUSE:Enterprise Storage 4 | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Enterprise Storage 4 | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Enterprise Storage 5 | dbus-1 | 0 | 1.8.22-29.17.7 |
| SUSE:Enterprise Storage 5 | dbus-1-x11 | 0 | 1.8.22-29.17.12 |
| SUSE:HPE Helion OpenStack 8 | dbus-1 | 0 | 1.8.22-29.17.7 |
| SUSE:HPE Helion OpenStack 8 | dbus-1-x11 | 0 | 1.8.22-29.17.12 |
| SUSE:Linux Enterprise Module for Basesystem 15 | dbus-1 | 0 | 1.12.2-3.5.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | dbus-1 | 0 | 1.12.2-3.8.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | dbus-1-x11 | 0 | 1.12.2-3.5.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 | dbus-1-x11 | 0 | 1.12.2-3.8.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | dbus-1 | 0 | 1.12.2-8.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP1 | dbus-1-x11 | 0 | 1.12.2-8.3.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | dbus-1 | 0 | 1.2.10-3.34.8.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | dbus-1-x11 | 0 | 1.2.10-3.34.8.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | dbus-1 | 0 | 1.2.10-3.34.8.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | dbus-1-x11 | 0 | 1.2.10-3.34.8.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12 SP5 | dbus-1 | 0 | 1.8.22-11.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | dbus-1-x11 | 0 | 1.8.22-11.3.1 |
| SUSE:Linux Enterprise Server 12-LTSS | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server 12-LTSS | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dbus-1 | 0 | 1.8.22-29.17.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | dbus-1-x11 | 0 | 1.8.22-29.17.12 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | dbus-1 | 0 | 1.8.22-11.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | dbus-1-x11 | 0 | 1.8.22-11.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | dbus-1 | 0 | 1.8.22-11.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | dbus-1-x11 | 0 | 1.8.22-11.3.1 |
| SUSE:OpenStack Cloud 7 | dbus-1 | 0 | 1.8.22-24.19.1 |
| SUSE:OpenStack Cloud 7 | dbus-1-x11 | 0 | 1.8.22-24.19.1 |
| SUSE:OpenStack Cloud 8 | dbus-1 | 0 | 1.8.22-29.17.7 |
| SUSE:OpenStack Cloud 8 | dbus-1-x11 | 0 | 1.8.22-29.17.12 |
| SUSE:OpenStack Cloud Crowbar 8 | dbus-1 | 0 | 1.8.22-29.17.7 |
| SUSE:OpenStack Cloud Crowbar 8 | dbus-1-x11 | 0 | 1.8.22-29.17.12 |
| Ubuntu:14.04:LTS | dbus | 0 | 1.6.18-0ubuntu4.5+esm1 |
| Ubuntu:16.04:LTS | dbus | 0 | 1.10.6-1ubuntu3.4 |
| Ubuntu:18.04:LTS | dbus | 0 | 1.12.2-1ubuntu1.1 |
| Ubuntu:Pro:14.04:LTS | dbus | 0 | 1.6.18-0ubuntu4.5+esm1 |
| openSUSE:Leap 15.0 | dbus-1 | 0 | 1.12.2-lp150.2.3.1 |
| openSUSE:Leap 15.0 | dbus-1 | 0 | 1.12.2-lp150.2.4.2 |
| openSUSE:Leap 15.0 | dbus-1-x11 | 0 | 1.12.2-lp150.2.3.1 |
| openSUSE:Leap 15.0 | dbus-1-x11 | 0 | 1.12.2-lp150.2.4.2 |
| openSUSE:Leap 15.1 | dbus-1 | 0 | 1.12.2-lp151.4.3.1 |
| openSUSE:Leap 15.1 | dbus-1-x11 | 0 | 1.12.2-lp151.4.3.1 |
| openSUSE:Tumbleweed | dbus-1 | 0 | 1.12.20-5.5 |
Related vulnerabilities
- CVE-2015-0245 D-Bus 1.4.x through 1.6.x before 1.6.30, 1.8.x before 1.8.16, and 1.9.x before 1.9.10… Also affects dbus
- CVE-2014-7824 D-Bus 1.3.0 through 1.6.x before 1.6.26, 1.8.x before 1.8.10, and 1.9.x before 1.9.2… Also affects dbus
- CVE-2014-3635 Off-by-one error in D-Bus 1.3.0 through 1.6.x before 1.6.24 and 1.8.x before 1.8.8, when… Also affects dbus
- CVE-2014-3477 The dbus-daemon in D-Bus 1.2.x through 1.4.x, 1.6.x before 1.6.20, and 1.8.x before… Also affects dbus
- CVE-2026-113724 virtualenv is a tool for creating isolated virtual python environments. CWE-59
- CVE-2026-113716 virtualenv is a tool for creating isolated virtual python environments. CWE-59
- CVE-2026-55480 OpenPrinting CUPS is an open source printing system for Linux and other Unix-like… CWE-59
- CVE-2026-90954 A flaw was found in BusyBox's dpkg-deb archive extraction. CWE-59