Bug 2494887 - CVE-2026-58016 glib2: integer underflow in gio/gdbusintrospection.c via "g_dbus_node_info_new_for_xml" [fedora-all]
Summary: CVE-2026-58016 glib2: integer underflow in gio/gdbusintrospection.c via "g_db...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: glib2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: {"flaws": ["96dd72cb-01db-4a75-9882-e...
Depends On:
Blocks: CVE-2026-58016
TreeView+ depends on / blocked
 
Reported: 2026-06-30 13:04 UTC by Guilherme de Almeida Suckevicz
Modified: 2026-08-12 16:43 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-12 16:43:55 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Guilherme de Almeida Suckevicz 2026-06-30 13:04:02 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

A state confusion vulnerability exists in g_dbus_node_info_new_for_xml() in gio/gdbusintrospection.c. When parsing malformed D-Bus introspection XML containing a <node> element nested inside <method>, <signal>, <property>, or <arg> elements, the parser's internal state becomes inconsistent. The nested </interface> closing tag inside the nested <node> steals and resets the shared data->methods (or data->signals/data->properties) array to an empty state. When the outer </method> (or similar) closing tag subsequently calls parse_data_get_method(data, FALSE), it accesses pdata[len - 1] with len == 0, causing an unsigned integer underflow (0u - 1 = 0xFFFFFFFF) and a massive out-of-bounds heap read at offset 0xFFFFFFFF * sizeof(gpointer) (~8 GB before the buffer).

Comment 1 lpavan 2026-08-12 16:06:32 UTC
This was fixed upstream with release 2.89.0.

Fedora 45 is unaffected (glib 2.89.3).

While Fedora 44 and 43 are affected (glib 2.88.3 and 2.86.5 respectively), the CVE is considered low impact in practice. For Fedora 44 we can just wait for the next upstream stable release. As for Fedora 43, it will EOL on December 9, so no fix planned.


Note You need to log in before you can comment on or make changes to this bug.