CVE-2024-34397
Medium · 5.2CVSS
5.2
EPSS
0.8%
Published
May 7, 2024
CISA due date
—
Cloudanix analysis
On computers used by several people at once, certain programs may receive fake messages pretending to come from system tools and then act on those fakes, potentially causing unexpected behavior.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
GDBus clients in GLib accept spoofed D-Bus signals from unprivileged local users as if they originated from trusted system services such as NetworkManager because signal subscriptions do not enforce sender authentication on shared systems.
Why it matters to the business
Applications built on GLib D-Bus may perform incorrect actions on multi-user computers, leading to configuration changes, service disruptions, or other application-specific misbehavior without remote access required.
How an attack unfolds
A local user on a shared machine identifies GDBus-based clients listening for signals from trusted services, then injects crafted D-Bus messages that the client accepts as authentic, causing the client to react as though the trusted service sent the signal.
How to fix it
Upgrade GLib to version 2.78.5 or 2.80.1; apply commit d18807b5ffc6dedc2db5225b044063f65720bf56 in GIT builds; rebuild and redeploy any dependent applications after the library update.
How to confirm the fix worked
Confirm installed GLib version is at or above the fixed releases; review D-Bus signal handling code in dependent applications for proper sender verification; test that spoofed signals are rejected after upgrade.
Typical attack path
- Obtain local user account on a multi-user system running affected GLib
- Locate GDBus clients that subscribe to signals from services such as NetworkManager
- Craft and emit spoofed D-Bus signals impersonating the trusted service
- Trigger application-dependent incorrect behavior in the targeted client
How to detect it
Monitor D-Bus system logs for signals originating from unexpected local users or processes; review application logs for anomalous reactions to NetworkManager or similar service signals on shared hosts.
What your security team should do
- Immediately update GLib packages on all multi-user systems to the fixed versions
- Audit applications using GDBus signal subscriptions for reliance on unauthenticated messages
- Restrict multi-user access on systems where high-impact GLib clients run until patched
The record
An issue was discovered in GNOME GLib before 2.78.5, and 2.79.x and 2.80.x before 2.80.1. When a GDBus-based client subscribes to signals from a trusted system service such as NetworkManager on a shared computer, other users of the same computer can send spoofed D-Bus signals that the GDBus-based client will wrongly interpret as having been sent by the trusted system service. This could lead to the GDBus-based client behaving incorrectly, with an application-dependent impact.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | glib2 | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:8 | glib2-devel | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:8 | glib2-doc | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:8 | glib2-fam | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:8 | glib2-static | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:8 | glib2-tests | 0 | 2.56.4-166.el8_10 |
| AlmaLinux:9 | glib2 | 0 | 2.68.4-14.el9_4.1 |
| AlmaLinux:9 | glib2-devel | 0 | 2.68.4-14.el9_4.1 |
| AlmaLinux:9 | glib2-doc | 0 | 2.68.4-14.el9_4.1 |
| AlmaLinux:9 | glib2-static | 0 | 2.68.4-14.el9_4.1 |
| AlmaLinux:9 | glib2-tests | 0 | 2.68.4-14.el9_4.1 |
| AlmaLinux:9 | mingw32-glib2 | 0 | 2.78.6-1.el9 |
| AlmaLinux:9 | mingw32-glib2-static | 0 | 2.78.6-1.el9 |
| AlmaLinux:9 | mingw64-glib2 | 0 | 2.78.6-1.el9 |
| AlmaLinux:9 | mingw64-glib2-static | 0 | 2.78.6-1.el9 |
| Alpine:v3.19 | glib | 0 | 2.78.5-r0 |
| Alpine:v3.20 | glib | 0 | 2.80.1-r0 |
| Alpine:v3.21 | glib | 0 | 2.80.1-r0 |
| Alpine:v3.22 | glib | 0 | 2.80.1-r0 |
| Debian:10 | glib2.0 | 0 | 2.58.3-2+deb10u6 |
| Debian:11 | glib2.0 | 0 | 2.66.8-1+deb11u2 |
| Debian:12 | glib2.0 | 0 | 2.74.6-2+deb12u1 |
| Debian:13 | glib2.0 | 0 | 2.80.0-10 |
| Debian:14 | glib2.0 | 0 | 2.80.0-10 |
| Mageia:9 | glib2.0 | 0 | 2.76.3-1.2.mga9 |
| Red Hat:enterprise_linux:9::appstream | glib2 | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-debugsource | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-devel | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-devel-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-doc | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-static | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-tests | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::appstream | glib2-tests-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2 | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-debugsource | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-devel | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-devel-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-doc | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-static | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-tests | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::baseos | glib2-tests-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2 | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-debugsource | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-devel | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-devel-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-doc | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-static | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-tests | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | glib2-tests-debuginfo | 0 | 0:2.68.4-14.el9_4.1 |
| Red Hat:enterprise_linux:9::crb | mingw-glib2 | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw32-glib2 | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw32-glib2-debuginfo | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw32-glib2-static | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw64-glib2 | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw64-glib2-debuginfo | 0 | 0:2.78.6-1.el9 |
| Red Hat:enterprise_linux:9::crb | mingw64-glib2-static | 0 | 0:2.78.6-1.el9 |
| Rocky Linux:9 | glib2 | 0 | 0:2.68.4-14.el9_4.1 |
| SUSE:Linux Enterprise Micro 5.1 | glib2 | 0 | 2.62.6-150200.3.18.1 |
| SUSE:Linux Enterprise Micro 5.1 | glib2 | 0 | 2.62.6-150200.3.21.1 |
| SUSE:Linux Enterprise Micro 5.2 | glib2 | 0 | 2.62.6-150200.3.18.1 |
| SUSE:Linux Enterprise Micro 5.2 | glib2 | 0 | 2.62.6-150200.3.21.1 |
| SUSE:Linux Enterprise Micro 5.3 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| SUSE:Linux Enterprise Micro 5.3 | glib2 | 0 | 2.70.5-150400.3.14.1 |
| SUSE:Linux Enterprise Micro 5.4 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| SUSE:Linux Enterprise Micro 5.4 | glib2 | 0 | 2.70.5-150400.3.14.1 |
| SUSE:Linux Enterprise Micro 5.5 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| SUSE:Linux Enterprise Micro 5.5 | glib2 | 0 | 2.70.5-150400.3.14.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | glib2 | 0 | 2.70.5-150400.3.14.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | glib2 | 0 | 2.78.6-150600.4.3.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | glib2-branding-SLE | 0 | 15-150600.35.2.1 |
| SUSE:Linux Enterprise Server 12 SP5 | glib2 | 0 | 2.48.2-12.37.1 |
| SUSE:Linux Enterprise Server 12 SP5 | glib2 | 0 | 2.48.2-12.40.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | glib2 | 0 | 2.48.2-12.37.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | glib2 | 0 | 2.48.2-12.40.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | glib2 | 0 | 2.48.2-12.37.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | glib2 | 0 | 2.48.2-12.40.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | glib2 | 0 | 2.48.2-12.37.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | glib2 | 0 | 2.48.2-12.40.1 |
| Ubuntu:20.04:LTS | glib2.0 | 0 | 2.64.6-1~ubuntu20.04.7 |
| Ubuntu:22.04:LTS | glib2.0 | 0 | 2.72.4-0ubuntu2.3 |
| Ubuntu:23.10 | glib2.0 | 0 | 2.78.0-2ubuntu0.1 |
| Ubuntu:24.04:LTS | glib2.0 | 0 | 2.80.0-6ubuntu3.1 |
| Ubuntu:Pro:14.04:LTS | glib2.0 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | glib2.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | glib2.0 | 0 | No fix |
| openSUSE:Leap 15.5 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| openSUSE:Leap 15.5 | glib2 | 0 | 2.70.5-150400.3.14.1 |
| openSUSE:Leap 15.5 | glib2-doc | 0 | 2.70.5-150400.3.11.1 |
| openSUSE:Leap 15.5 | glib2-doc | 0 | 2.70.5-150400.3.14.1 |
| openSUSE:Leap 15.6 | glib2 | 0 | 2.78.6-150600.4.3.1 |
| openSUSE:Leap 15.6 | glib2-branding-SLE | 0 | 15-150600.35.2.1 |
| openSUSE:Leap 15.6 | glib2-doc | 0 | 2.78.6-150600.4.3.1 |
| openSUSE:Leap Micro 5.3 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| openSUSE:Leap Micro 5.4 | glib2 | 0 | 2.70.5-150400.3.11.1 |
| openSUSE:Leap Micro 5.5 | glib2 | 0 | 2.70.5-150400.3.14.1 |
Related vulnerabilities
- CVE-2025-13601 A heap-based buffer overflow problem was found in glib through an incorrect calculation… Also affects glib2
- CVE-2024-52533 gio/gsocks4aproxy.c in GNOME GLib before 2.82.1 has an off-by-one error and resultant… Also affects glib2
- CVE-2023-32611 A flaw was found in GLib. Also affects glib2
- CVE-2026-0988 A flaw was found in glib. Also affects glib2.0
- CVE-2025-14512 A flaw was found in glib. Also affects glib2.0
- CVE-2025-14087 A flaw was found in GLib (Gnome Lib). Also affects glib2.0
- CVE-2026-1489 A flaw was found in GLib. Also affects glib2
- CVE-2026-1484 A flaw was found in the GLib Base64 encoding routine when processing very large input… Also affects glib2