Bug 2494875 - CVE-2026-58012 glib2: buffer over-read in g_regex_replace() via glib/gregex.c:string_append() and g_utf8_next_char() [fedora-all]
Summary: CVE-2026-58012 glib2: buffer over-read in g_regex_replace() via glib/gregex.c...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: glib2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: {"flaws": ["cf8fc7ed-496d-4ddd-92d6-0...
Depends On:
Blocks: CVE-2026-58012
TreeView+ depends on / blocked
 
Reported: 2026-06-30 12:58 UTC by Guilherme de Almeida Suckevicz
Modified: 2026-08-12 16:40 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-12 14:52:01 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Guilherme de Almeida Suckevicz 2026-06-30 12:58:19 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 heap-buffer-overflow READ vulnerability exists in GLib's g_regex_replace() function when used with G_REGEX_RAW compile flag and case-change replacement escapes (\U, \L, \u, \l).
In G_REGEX_RAW mode, PCRE2 treats the subject string as raw bytes rather than UTF-8. Matched substrings can therefore contain arbitrary byte sequences that are not valid UTF-8. When the replacement string contains case-change escapes (e.g., \U\0 to uppercase the match), the internal string_append() function processes the matched substring using UTF-8 functions (g_utf8_get_char(), g_utf8_next_char()) which assume valid UTF-8 input. A multi-byte UTF-8 lead byte (e.g., 0xF4 indicating a 4-byte sequence) in the matched data causes these functions to read beyond the heap-allocated buffer.

Comment 1 lpavan 2026-08-12 14:52:01 UTC
This was fixed upstream with the following releases:

- 2.86.5
- 2.88.1
- 2.89.0

Given that Fedora currently ships 2.86.5 or later across all releases, I'm going to close this.


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