CVE-2018-14345 in sddminfo

Summary

by MITRE

An issue was discovered in SDDM through 0.17.0. If configured with ReuseSession=true, the password is not checked for users with an already existing session. Any user with access to the system D-Bus can therefore unlock any graphical session. This is related to daemon/Display.cpp and helper/backend/PamBackend.cpp.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 04/09/2023

The vulnerability identified as CVE-2018-14345 represents a critical authentication bypass flaw in SDDM (Simple Desktop Display Manager) versions up to 0.17.0. This issue specifically manifests when the ReuseSession configuration parameter is enabled, creating a dangerous condition where the system fails to validate user credentials for sessions that are already active. The flaw stems from improper session management logic that allows unauthorized access to graphical sessions through the D-Bus interface, fundamentally undermining the security model of the display manager. The vulnerability affects the core authentication mechanisms implemented in the daemon/Display.cpp and helper/backend/PamBackend.cpp components, which are responsible for handling session creation and user authentication processes. This represents a significant weakness in the authentication framework where the system assumes that existing sessions are secure without revalidating user credentials, creating an attack surface that can be exploited by any entity with D-Bus access permissions.

The technical implementation of this vulnerability exploits the fundamental principle of authentication by allowing session reuse without proper credential verification. When ReuseSession=true is configured, the system should maintain strict authentication controls even for existing sessions, but instead it permits access through the D-Bus interface without checking the password. This behavior creates a persistent security gap where legitimate users can be bypassed by unauthorized parties who gain access to the system's D-Bus communication channels. The flaw is particularly concerning because D-Bus is a standard inter-process communication mechanism in Linux systems, and unauthorized access to this interface is often possible in multi-user environments. The vulnerability specifically targets the PAM (Pluggable Authentication Modules) backend implementation in PamBackend.cpp, which should enforce authentication checks but fails to do so when session reuse is enabled. This issue directly relates to CWE-287, which addresses improper authentication vulnerabilities, and represents a failure in the authentication control mechanism where session state is not properly validated against user credentials.

The operational impact of this vulnerability extends far beyond simple access control breaches, as it allows attackers to gain unauthorized access to graphical sessions with potentially elevated privileges. Any user with access to the system D-Bus can unlock any graphical session, effectively providing a backdoor into the desktop environment that may contain sensitive data, applications, and system resources. This vulnerability is particularly dangerous in shared computing environments, multi-user systems, or scenarios where D-Bus access is not properly restricted, as it can enable lateral movement attacks and privilege escalation. The attack surface is broadened by the fact that D-Bus access is often available to non-privileged users in many Linux distributions, making this vulnerability exploitable by a wide range of threat actors. The implications include potential data theft, unauthorized system modifications, and complete compromise of the graphical user interface sessions, which may contain confidential information or administrative access to system resources. This vulnerability can be leveraged to maintain persistence on compromised systems and can be combined with other attack vectors to escalate privileges and gain deeper system access.

Mitigation strategies for this vulnerability must address both the immediate configuration issues and the underlying architectural weaknesses in the authentication system. The primary recommendation is to disable the ReuseSession=true configuration option in SDDM when it is not strictly necessary, as this immediately eliminates the vulnerability. System administrators should also implement proper D-Bus access controls using the standard D-Bus policy configuration files to restrict access to the SDDM interfaces. The underlying code should be patched to ensure that session reuse never bypasses authentication requirements, requiring proper credential verification regardless of session state. Additional security measures include implementing proper access controls for the D-Bus interface, monitoring for unauthorized D-Bus access patterns, and regular security audits of display manager configurations. Organizations should also consider implementing additional authentication layers and privilege separation mechanisms to reduce the impact of such vulnerabilities. The remediation process should include updating to SDDM versions that have addressed this specific vulnerability, typically those released after the vulnerability disclosure, and implementing comprehensive security configurations that align with the principle of least privilege. This vulnerability highlights the importance of proper session management and authentication control in display managers, and the need for regular security assessments of authentication mechanisms in desktop environments. The fix should ensure that the system maintains strict authentication controls even when session reuse is enabled, preventing the bypass of user credentials through the D-Bus interface.

Reservation

07/17/2018

Disclosure

07/17/2018

Moderation

accepted

CPE

ready

EPSS

0.01019

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!