Cloudanix VulnDB

CVE-2018-8885

High · 7.0

CVSS

7.0

EPSS

0.2%

Published

Mar 28, 2018

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A local user on certain older Ubuntu machines could trick the system into giving them full administrative control by winning a brief timing contest during permission checks.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
High
Impact
Privilege Gain
Component
Application
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Local race condition in screenresolution-mechanism allows bypassing PolicyKit permission checks when a setuid or pkexec process invokes _check_permission, enabling unauthorized privilege escalation on the local system.

Why it matters to the business

Local attackers can obtain elevated privileges on affected Ubuntu systems, increasing risk of full host compromise and unauthorized data access; the issue is old with low exploitation probability but remains relevant on unpatched legacy deployments.

How an attack unfolds

An attacker on the local system triggers a race between a privileged process and the flawed PolicyKit D-Bus check, winning the window to bypass intended restrictions and execute code with higher privileges.

How to fix it

Remove or replace screen-resolution-extra with a maintained alternative; on supported Ubuntu releases ensure the package is not present or is superseded by fixed upstream code.

How to confirm the fix worked

Confirm screen-resolution-extra is absent or replaced; review PolicyKit D-Bus service configurations for any remaining custom mechanisms that call _check_permission without proper locking.

Typical attack path

  1. Obtain local shell access as an unprivileged user
  2. Invoke screenresolution-mechanism via a setuid or pkexec binary
  3. Exploit the timing window in PolicyKitService._check_permission
  4. Bypass access restrictions and escalate to root privileges

How to detect it

Review authentication and authorization logs around pkexec and PolicyKit D-Bus calls for unexpected privilege grants; examine process creation events for screenresolution-mechanism invoked by non-root users.

What your security team should do

  • Audit all systems for presence of screen-resolution-extra and remove where possible
  • Harden local privilege boundaries with AppArmor or SELinux policies around pkexec and setuid binaries
  • Monitor for new local privilege-escalation attempts on legacy Ubuntu hosts

The record

screenresolution-mechanism in screen-resolution-extra 0.17.2 does not properly use the PolicyKit D-Bus API, which allows local users to bypass intended access restrictions by leveraging a race condition via a setuid or pkexec process that is mishandled in a PolicyKitService._check_permission call.

Affected packages

Ecosystem Package Introduced Fixed
Ubuntu:14.04:LTS screen-resolution-extra 0 0.17.1.1~14.04.1
Ubuntu:16.04:LTS screen-resolution-extra 0 0.17.1.1~16.04.1

Related vulnerabilities