Skip to content

Potential leak of data captured and DoS potential attack for budgie-extras Window Shuffler application

High
fossfreedom published GHSA-rhwf-6fc9-9jvm Dec 14, 2023

Package

budgie-window-shuffler (vala)

Affected versions

> 1.4

Patched versions

v1.7.1

Description

Impact

Temporary data is written to a local locations accessible by all users for the host for the Budgie Extras WeatherShow applet.

The data file format is easily guessable; this potentially allows another user to present false information to the other user or could be used as an attack vector to deny access to the application through manipulation of files in this accessible file location.

Key issues:

  1. Data is monitored and can be displayed in the applet listbox. Ths can confuse a users GUI.
  2. Data can be manipulated by another user controlling whether to display or close a popup dialog. This can confuse a users GUI.
  3. By placing a FIFO the popup could be subject to denial-of-service
    (either by blocking it indefinitely or by feeding it large amounts of
    data, leading to an out-of-memory situation).

Without the Linux kernel's symlink protection it can be used to read from arbitrary files, or to operate in
arbitrary directories.

  1. By placing a file in the host location, the existence check by the shuffler daemon will never trigger and thus any user rules will not run. This can confuse the users GUI.

  2. By placing a file is a known location this can control the display or closing of the shuffler grid-window and thereby confusing the Users GUI.

  3. The warning image is created programmatically.

A local attacker can attempt to place arbitrary PNG data in this path
and have it displayed on the victim's desktop.

  1. Data in a file is evaluated; there is a chance for a local attacker to massively break the
    layout logic or maybe even achieve code execution. The
    Linux kernel's protected_regular sysctl setting comes to the rescue
    here, though. The open() with O_CREAT will fail. It can then
    still present a denial-of-service vector, though.

Patches

The fix has been resolved in a patch release v1.7.1

Workarounds

This issue can be mitigated if there is only one user account on the system and limiting physical access to other users to the host system.

References

None.

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Local
Attack complexity
High
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
Low
Integrity
High
Availability
Low

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:L

CVE ID

CVE-2023-49344

Weaknesses

No CWEs

Credits