CVE-2024-1433
Executive Summary
CVE-2024-1433 is a path traversal vulnerability in KDE Plasma Workspace, affecting versions up to 5.93.0. The flaw resides in the EventPluginsManager::enabledPlugins function within components/calendar/eventpluginsmanager.cpp. By manipulating the pluginId argument, an attacker can traverse directories outside the intended plugin directory. The attack requires high complexity and user interaction (e.g., installing a malicious global theme or having write access to the user's home directory). The CVSS score is 3.1 (Low), and the EPSS score is 0.0%, indicating low exploitation likelihood. A patch is available via commit 6cdf42916369ebf4ad5bd876c4dfa0170d7b2f01.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
- Base Score: 3.1 (Low)
- Attack Vector: Network (AV:N) – The attack can be initiated remotely.
- Attack Complexity: High (AC:H) – Exploitation requires specific conditions (e.g., user interaction, malicious theme installation).
- Privileges Required: None (PR:N)
- User Interaction: Required (UI:R) – The victim must install a malicious global theme or allow write access to their home directory.
- Scope: Unchanged (S:U)
- Confidentiality Impact: Low (C:L) – Limited file read outside the plugin directory.
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
Threat Level: Low. The high attack complexity and required user interaction reduce the immediate risk. However, in environments where users frequently install third-party themes, the threat increases.
Deep Dive & Mechanics
The vulnerability is a classic path traversal (CWE-22) in the EventPluginsManager::enabledPlugins function. The function processes the pluginId parameter without proper sanitization, allowing an attacker to include path traversal sequences (e.g., ../) to read files outside the intended plugin directory.
Affected Component: components/calendar/eventpluginsmanager.cpp in KDE Plasma Workspace.
Attack Scenario:
- An attacker crafts a malicious global theme that includes a specially crafted
pluginIdvalue containing path traversal sequences. - The victim installs the malicious theme (user interaction required).
- When the calendar plugin manager processes the theme, it reads files from arbitrary locations on the victim's filesystem, potentially exposing sensitive data.
Root Cause: Lack of input validation on the pluginId parameter before constructing file paths.
Vulnerable vs. Patched Code
Vulnerable Code (simplified):
QString pluginPath = pluginsDir + "/" + pluginId;
QFile file(pluginPath);
if (file.exists()) {
// Process plugin
}
Patched Code (commit 6cdf42916369ebf4ad5bd876c4dfa0170d7b2f01):
QString pluginPath = pluginsDir + "/" + pluginId;
// Sanitize: remove path traversal sequences
pluginPath = QDir::cleanPath(pluginPath);
if (!pluginPath.startsWith(pluginsDir)) {
// Reject path traversal attempt
return;
}
QFile file(pluginPath);
if (file.exists()) {
// Process plugin
}
The patch uses QDir::cleanPath to normalize the path and then checks that the resulting path still starts with the intended plugins directory, preventing traversal.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Victim must install a malicious global theme.
- Attacker must have a way to deliver the theme (e.g., via a website, email, or repository).
Exploitation Steps:
- Create a malicious global theme package (e.g.,
.tar.gzor.zip). - Inside the theme, craft a plugin configuration file (e.g.,
metadata.desktop) with apluginIdvalue like../../../../etc/passwd. - Host the theme on a website or send it to the victim.
- Victim installs the theme (e.g., via System Settings > Global Themes > Install from File).
- When the calendar plugin manager processes the theme, it reads the targeted file (e.g.,
/etc/passwd) and may expose its contents.
Example Malicious Plugin Configuration:
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KPluginInfo
X-KDE-PluginInfo-Name=../../../../etc/passwd
X-KDE-PluginInfo-Category=Calendar
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual file read operations by the
plasma-desktopprocess. - Look for path traversal patterns in plugin configuration files.
- Use file integrity monitoring to detect changes to plugin directories.
Defense:
- Apply the patch immediately.
- Restrict installation of global themes to trusted sources only.
- Educate users about the risks of installing third-party themes.
- Implement application whitelisting to prevent unauthorized theme installations.
Indicators of Compromise (IOCs)
- File Paths: Any plugin configuration file containing
../or..\\sequences. - Process:
plasma-desktopreading files outside the expected plugin directories (e.g.,/etc/passwd,/home/user/.ssh/id_rsa). - Network: Connections to domains hosting malicious themes (if applicable).
- Registry/Config: Modified
metadata.desktopfiles with suspiciousX-KDE-PluginInfo-Namevalues.
Detection Engineering
YARA Rule
rule CVE_2024_1433_Path_Traversal {
meta:
description = "Detects path traversal attempts in KDE Plasma plugin configurations"
author = "Valters IT"
date = "2024-01-01"
reference = "CVE-2024-1433"
strings:
$traversal = /\.\.\/|\.\.\\/
$plugin_key = "X-KDE-PluginInfo-Name"
condition:
$plugin_key and $traversal
}
Sigma Rule
title: CVE-2024-1433 Path Traversal in KDE Plasma
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects path traversal attempts in KDE Plasma plugin configurations
author: Valters IT
date: 2024/01/01
references:
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-1433
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/plasma-desktop'
CommandLine|contains: '../'
condition: selection
falsepositives:
- Legitimate use of relative paths in plugin development
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-1433 KDE Plasma Path Traversal Attempt"; flow:to_server,established; content:"X-KDE-PluginInfo-Name"; http_client_body; pcre:"/\.\.\//"; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Apply the patch from commit
6cdf42916369ebf4ad5bd876c4dfa0170d7b2f01to all affected KDE Plasma installations. - If patching is not possible, disable the calendar plugin manager or restrict its functionality.
Long-term Mitigations:
- Implement input validation for all user-supplied parameters in plugin configurations.
- Use a whitelist approach for allowed plugin IDs.
- Regularly update KDE Plasma to the latest version.
- Monitor for new CVEs and apply patches promptly.
Workarounds:
- Educate users to only install global themes from trusted sources (e.g., official KDE Store).
- Use file system permissions to restrict write access to plugin directories.
Valters IT
DevSecOps & Cyber Threat Intelligence Expert