Cloudanix VulnDB

CVE-2019-12749

High · 7.1

CVSS

7.1

EPSS

0.5%

Published

Jun 11, 2019

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

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

  1. Obtain local shell or process execution under a non-privileged UID
  2. Write a crafted symlink in the user's ~/.dbus-keyrings directory
  3. Trigger or wait for a connection attempt from the target DBusServer
  4. Present the pre-known cookie during the DBUS_COOKIE_SHA1 exchange
  5. 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