CVE-2024-6655
High · 7.0CVSS
7.0
EPSS
0.5%
Published
Jul 16, 2024
CISA due date
—
Cloudanix analysis
A common graphics library on Linux computers could be tricked into running harmful code if someone launches an affected program from the wrong folder, so organizations should update the library to stop this.
- Exploitation
- Local Privilege
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Full Compromise
- Component
- Library
- Class
- Other
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits a GTK application to load an attacker-controlled shared library from the current working directory instead of trusted system paths under specific runtime conditions.
Why it matters to the business
Attackers who can influence the working directory of a GTK-based application may achieve arbitrary code execution on affected Linux systems, potentially leading to data theft or system compromise; the issue affects widely used desktop environments and applications on Debian 11.
How an attack unfolds
An attacker places a malicious shared library with a name that GTK will resolve in the current working directory, then convinces a user to execute a vulnerable GTK application from that directory, causing the library to be loaded and executed with the application's privileges.
How to fix it
Upgrade the affected GTK packages on Debian 11 systems to version 5.10.223-1 or later; avoid running untrusted GTK applications from user-writable directories until patched.
How to confirm the fix worked
Verify installed GTK package versions match or exceed 5.10.223-1 on Debian 11; test application startup from directories containing test libraries to confirm trusted-path resolution behavior.
Typical attack path
- Identify a GTK application and a writable directory from which it may be launched
- Craft a malicious shared library matching an expected library name
- Place the library in the target working directory
- Social-engineer or automate execution of the GTK application from that directory
- Library is loaded at startup, executing attacker code
How to detect it
Review process creation and library load events for GTK applications started from non-standard directories; examine audit logs or strace output for unexpected .so files resolved from the current working directory.
What your security team should do
- Immediately schedule upgrade of GTK packages to 5.10.223-1 across all Debian 11 systems
- Update vulnerability scanning and asset inventory to flag unpatched GTK installations
- Review and restrict execution of GUI applications from untrusted directories via policy or sandboxing
- Monitor for new exploit code or increased EPSS scores over the next 30 days
The record
A flaw was found in the GTK library. Under certain conditions, it is possible for a library to be injected into a GTK application from the current working directory.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | gtk-update-icon-cache | 0 | 3.22.30-12.el8_10 |
| AlmaLinux:8 | gtk3 | 0 | 3.22.30-12.el8_10 |
| AlmaLinux:8 | gtk3-devel | 0 | 3.22.30-12.el8_10 |
| AlmaLinux:8 | gtk3-devel-docs | 0 | 3.22.30-12.el8_10 |
| AlmaLinux:8 | gtk3-immodule-xim | 0 | 3.22.30-12.el8_10 |
| AlmaLinux:9 | gtk-update-icon-cache | 0 | 3.24.31-5.el9 |
| AlmaLinux:9 | gtk3 | 0 | 3.24.31-5.el9 |
| AlmaLinux:9 | gtk3-devel | 0 | 3.24.31-5.el9 |
| AlmaLinux:9 | gtk3-devel-docs | 0 | 3.24.31-5.el9 |
| AlmaLinux:9 | gtk3-immodule-xim | 0 | 3.24.31-5.el9 |
| Debian:11 | gtk+2.0 | 0 | 2.24.33-2+deb11u1 |
| Debian:11 | gtk+3.0 | 0 | 3.24.24-4+deb11u4 |
| Debian:12 | gtk+2.0 | 0 | 2.24.33-2+deb12u1 |
| Debian:12 | gtk+3.0 | 0 | 3.24.38-2~deb12u2 |
| Debian:13 | gtk+2.0 | 0 | 2.24.33-5 |
| Debian:13 | gtk+3.0 | 0 | 3.24.43-1 |
| Mageia:9 | gtk+2.0 | 0 | gtk+2.0-2.24.33-5.1.mga9 |
| Mageia:9 | gtk+3.0 | 0 | gtk+3.0-3.24.38-1.1.mga9 |
| Red Hat:enterprise_linux:8::appstream | gtk-update-icon-cache | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk-update-icon-cache-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3 | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-debugsource | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-devel | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-devel-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-devel-docs | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-immodule-xim | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-immodule-xim-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-immodules-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::appstream | gtk3-tests-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk-update-icon-cache | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk-update-icon-cache-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3 | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-debugsource | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-devel | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-devel-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-devel-docs | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-immodule-xim | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-immodule-xim-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-immodules-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:8::crb | gtk3-tests-debuginfo | 0 | 0:3.22.30-12.el8_10 |
| Red Hat:enterprise_linux:9::appstream | gtk-update-icon-cache | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk-update-icon-cache-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3 | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-debugsource | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-devel | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-devel-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-devel-docs | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-immodule-xim | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-immodule-xim-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-immodules-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::appstream | gtk3-tests-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk-update-icon-cache | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk-update-icon-cache-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3 | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-debugsource | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-devel | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-devel-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-devel-docs | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-immodule-xim | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-immodule-xim-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-immodules-debuginfo | 0 | 0:3.24.31-5.el9 |
| Red Hat:enterprise_linux:9::crb | gtk3-tests-debuginfo | 0 | 0:3.24.31-5.el9 |
| Rocky Linux:8 | gtk3 | 0 | 0:3.22.30-12.el8_10 |
| Rocky Linux:9 | gtk3 | 0 | 0:3.24.31-5.el9 |
| SUSE:Enterprise Storage 7.1 | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Enterprise Storage 7.1 | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Enterprise Storage 7.1 | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Micro 5.2 | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Micro 5.3 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Micro 5.4 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Micro 5.4 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Micro 5.5 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | gnome-themes-standard | 0 | 3.22.3-150000.4.5.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | gtk2 | 0 | 2.24.33-150600.11.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | gtk3 | 0 | 3.24.43-150600.3.7.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | gtk3 | 0 | 3.24.38+111-150600.3.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | gtk3-branding-SLE | 0 | 15.0-150600.21.2.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gnome-themes-standard | 0 | 3.22.3-150000.4.5.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gtk2 | 0 | 2.24.33-150600.11.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gtk3 | 0 | 3.24.43-150600.3.7.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | gtk3 | 0 | 3.24.38+111-150600.3.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gtk2 | 0 | 2.24.31-9.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gtk3 | 0 | 3.20.10-17.16.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gtk2 | 0 | 2.24.31-9.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gtk3 | 0 | 3.20.10-17.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gtk2 | 0 | 2.24.32+67-150200.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gtk3 | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gtk3-doc | 0 | 3.24.20-150200.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gtk2 | 0 | 2.24.31-9.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gtk3 | 0 | 3.20.10-17.16.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | gtk2 | 0 | 2.24.31-9.9.1 |
| SUSE:Manager Proxy 4.3 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Manager Proxy 4.3 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| SUSE:Manager Server 4.3 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| SUSE:Manager Server 4.3 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| Ubuntu:16.04:LTS | gtk+2.0 | 0 | No fix |
| Ubuntu:16.04:LTS | gtk+3.0 | 0 | No fix |
| Ubuntu:18.04:LTS | gtk+2.0 | 0 | No fix |
| Ubuntu:18.04:LTS | gtk+3.0 | 0 | No fix |
| Ubuntu:20.04:LTS | gtk+2.0 | 0 | 2.24.32-4ubuntu4.1 |
| Ubuntu:20.04:LTS | gtk+3.0 | 0 | 3.24.20-0ubuntu1.2 |
| Ubuntu:22.04:LTS | gtk+2.0 | 0 | 2.24.33-2ubuntu2.1 |
| Ubuntu:22.04:LTS | gtk+3.0 | 0 | 3.24.33-1ubuntu2.2 |
| Ubuntu:24.04:LTS | gtk+2.0 | 0 | 2.24.33-4ubuntu1.1 |
| Ubuntu:24.04:LTS | gtk+3.0 | 0 | 3.24.41-4ubuntu1.1 |
| Ubuntu:24.10 | gtk+2.0 | 0 | 2.24.33-5ubuntu1 |
| Ubuntu:24.10 | gtk+3.0 | 0 | 3.24.43-1ubuntu1 |
| Ubuntu:Pro:16.04:LTS | gtk+2.0 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gtk+3.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gtk+2.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | gtk+3.0 | 0 | No fix |
| openSUSE:Leap 15.5 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| openSUSE:Leap 15.5 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| openSUSE:Leap 15.5 | gtk3-doc | 0 | 3.24.34-150400.3.9.1 |
| openSUSE:Leap 15.6 | gnome-themes-standard | 0 | 3.22.3-150000.4.5.1 |
| openSUSE:Leap 15.6 | gtk2 | 0 | 2.24.33-150600.11.3.1 |
| openSUSE:Leap 15.6 | gtk3 | 0 | 3.24.43-150600.3.7.1 |
| openSUSE:Leap 15.6 | gtk3 | 0 | 3.24.38+111-150600.3.3.1 |
| openSUSE:Leap 15.6 | gtk3-branding-SLE | 0 | 15.0-150600.21.2.1 |
| openSUSE:Leap Micro 5.5 | gtk2 | 0 | 2.24.33-150400.4.3.1 |
| openSUSE:Leap Micro 5.5 | gtk3 | 0 | 3.24.34-150400.3.9.1 |
| openSUSE:Tumbleweed | gtk2 | 0 | 2.24.33-10.1 |
| openSUSE:Tumbleweed | gtk3 | 0 | 3.24.43-1.1 |
Related vulnerabilities
- CVE-2021-30663 An integer overflow was addressed with improved input validation. Also affects gtk-update-icon-cache
- CVE-2021-30665 A memory corruption issue was addressed with improved state management. Also affects gtk-update-icon-cache
- CVE-2021-21775 A use-after-free vulnerability exists in the way certain events are processed for… Also affects gtk-update-icon-cache
- CVE-2021-1870 A logic issue was addressed with improved restrictions. Also affects gtk-update-icon-cache
- CVE-2021-1871 A logic issue was addressed with improved restrictions. Also affects gtk-update-icon-cache
- CVE-2021-1788 A use after free issue was addressed with improved memory management. Also affects gtk-update-icon-cache
- CVE-2021-1789 A type confusion issue was addressed with improved state handling. Also affects gtk-update-icon-cache
- CVE-2020-13558 A code execution vulnerability exists in the AudioSourceProviderGStreamer functionality… Also affects gtk-update-icon-cache