Opened 6 months ago

Closed 6 months ago

#23106 closed enhancement (fixed)

glib-2.88.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 13.1
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New minor version.

Change History (5)

comment:1 by Bruce Dubbs, 6 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:2 by Bruce Dubbs, 6 months ago

Summary: glib-2.88.0 → glib-2.88.0 (Security update)

Fix various integer overflow bugs

CVE-2026-1484
CVE-2026-1485 
CVE-2026-1489
CVE-2025-14087
Last edited 6 months ago by Bruce Dubbs (previous) (diff)

comment:3 by Douglas R. Reno, 6 months ago

Summary: glib-2.88.0 (Security update) → glib-2.88.0

We're safe from those as we fixed those with glib-2.86.4 in February. :)

comment:4 by Bruce Dubbs, 6 months ago

Overview of changes in GLib 2.88.0, 2026-03-16

  • Bugs fixed:
    • !5097 gslice: Factor out a size helper macro and stop using MAX in a public header

Overview of changes in GLib 2.87.5, 2026-03-12

  • Brown paper bag release to attempt to fix the dist-job in CI; this caused it to be impossible to build a release archive for 2.87.4
  • Bugs fixed:
    • !5096 ci: Force a git clone and update the index when running dist-job

Overview of changes in GLib 2.87.4, 2026-03-12

  • Avoid installing broken symlinks as part of the test data for the gdatetime tests

  • Fix g_file_set_contents() with non-ASCII filenames on Windows

  • Bugs fixed:
    • #3688 Documentation issue with g_slice_new and g_slice_new0
    • #3730 Unclear assertion failure message when G_PARAM_CONSTRUCT and G_PARAM_CONSTRUCT_ONLY are both specified
    • #3814 vs2019-arm64 CI fails with ninja error
    • #3873 g_file_set_contents broken on windows for non-ASCII filenames
    • #3885 Documentation of g_file_info_get_is_backup() doesn’t define what a backup file is
    • #3897 GLocalFileInfo's set_symlink() is backwards
    • #3905 Memory leak in g_desktop_app_info_launch_uris_with_spawn
    • !5030 gsocketconnection: Set an error when closed if no address is cached
    • !5037 minor doc fixes
    • !5047 i18n: Update and correction for Occitan
    • !5048 ci: Install gi-docgen in the Fedora CI image
    • !5054 tests: Create unix_localtime root directory structure at runtime
    • !5088 tests: Fix a minor memory leak in the socket test
    • !5089 ci: Drop workaround for GitLab submodule checkout bug
    • !5090 Prevent iptosmessage test failures on FreeBSD and Hurd
    • !5091 gobject: Disable new construct property check with G_DISABLE_CHECKS

Overview of changes in GLib 2.87.3, 2026-02-25

  • Improved support for GNotification on Windows

  • Fix module lookups via GModule on Cygwin

  • Fix local timezone lookup with nested symlinks in /etc/localtime

  • Fix ordering and sequential consistency of gatomic memory barriers on MSVC and fallback GCC code paths

  • Fix various integer overflow bugs (#3870, #3871, #3872, CVE-2026-1484, CVE-2026-1485, CVE-2026-1489)
  • Add GSocketControlMessage subclasses for receiving IP_TOS and IPV6_TCLASS
  • Support polling more than 1024 FDs on macOS
  • Remove platform-specific backward compatibility from GLib-2.0 as it’s impossible to support
  • Improve introspection annotations for delimiters on g_strsplit_set() (this may require changes in introspection bindings)
  • Basic support for building and running some functionality on tvOS and watchOS
  • Add g_get_monotonic_time() variant with nanosecond precision
  • Bugs fixed:
    • #3628 Add test suite for gdbus tool
    • #3741 GModule incorrectly searches for cyg....so instead of cyg....dll on Cygwin
    • #3816 Local timezone wrongly considered to be UTC if timezone file in /usr/share/zoneinfo is a symlink
    • #3829 [RFC] gatomic: Memory barriers should be reversed (Luca Bacci)
    • #3839 Broken Unix/Win32 specific GIRs
    • #3852 MSVC and GCC-fallback atomics are not sequentially consistent
    • #3863 Iterating over a short (preallocated) GVariant bytestring invalidly refs a NULL GBytes
    • #3865 callable-info/native-address test fails on big endian
    • #3867 win32: Notifications without body won't show up
    • #3869 gnotification-win32: Re-initialize tray icon if explorer.exe got restarted
    • #3870 (CVE-2026-1484) (YWH-PGM9867-168) Integer Overflow -> Buffer Underflow on Glib through glib/gbase64.c via g_base64_encode_close() leads to OOB Write
    • #3871 (CVE-2026-1485) (#YWH-PGM9867-169) Buffer underflow on Glib through gio/gcontenttype-fdo.c via parse_header() lead to OOB Read/Write (Marco Trevisan
    • #3872 (CVE-2026-1489) (#YWH-PGM9867-171) Integer Overflow on Glib through glib/guniprop.c via output_marks() lead to OOB Write in glib/gutf8.c:g_unichar_to_utf8()
    • #3877 hash test failing randomly on MSYS2
    • #3880 Integer overflow in gio-launch-desktop from over-long environment variables
    • #3881 Integer overflow in g_resource_find_overlay() from over-long environment variables
    • #3883 Integer overflow in g_path_get_basename() when passed an extremely long path (length ≈SSIZE_MAX)
    • #3886 Crash in gdbus-tool on invalid --method argument format
    • #3895 date_time_lookup_era unsafely caches setlocale pointer
    • !4846 gio: Add GSocketControlMessage subclasses for receiving IP_TOS and IPV6_TCLASS
    • !4953 darwin: Support g_poll:maxfd >= FD_SETSIZE
    • !4957 gstrfuncs: Annotate g_strsplit_set() as taking a byte array of delimiters
    • !4966 gio-tool-{copy,move}: Fix incorrect transfer rate calculation and improve visualization
    • !4968 markup: Better error reporting
    • !4970 gutf8: Clarify docs about negative return values
    • !4971 gutf8: Use size_t internally for some length calculations
    • !4976 docs: Fix a typo and specify a codeblock is C
    • !4977 gobject: Add nullable annotation to g_weak_ref_get return value
    • !4982 markup: Initialize tag positions
    • !4985 ci/fedora, glib/casemap: Add tests for the Azerbaijani cases
    • !4987 giomodule: Simplify macro usage for getting the giomodule dir, don't use it on iOS
    • !4991 gio/gdatainputstream: Mark bytes as potentially unused
    • !4992 Disable or stub out fork/execv* usage when targeting tvOS and watchOS
    • !4993 Windows: Add test-profile
    • !4996 Fix some small regressions in the iOS build
    • !4997 meson: Add guesses for compute_int to speed up cross-compile setup
    • !5002 Update Lithuanian translation
    • !5004 Add g_get_monotonic_time() variant with nanosecond precision
    • !5006 gfileutils: Fix a regression in g_path_get_basename() for plain files
    • !5012 Compilation fixes for CLangCL and older MSVC
    • !5015 GApplication: make send_notification / withdraw_notification thread- safe
    • !5028 gvalue: Update default terminology to initial
    • !5034 Fix const qualifiers where discarded
    • !5036 Address more size types issues
    • !5040 gsettings-tool: Fix leaks when running set commands
    • !5041 gsettings-tool: Fix leaks when specifying invalid schemas

verview of changes in GLib 2.87.2, 2026-01-19

  • Add initial support for GNotification on Windows
  • Bugs fixed:
    • #3850 g_strsplit_set docs are misleading
    • #3857 win32: Add support for notifications using Shell_NotifyIcon API
    • #3858 glib-compile-resources: Incorrect compiler detection on Windows when building GTK causes a DoS
    • #3863 Iterating over a short (preallocated) GVariant bytestring invalidly refs a NULL GBytes
    • #3864 gir-tracker-bot posting diffs against too-recent-main
    • #3867 win32: Notifications without body won't show up
    • !4918 gio/unixmounts: use bsearch() to check for set inclusion
    • !4949 gdesktopappinfo: Fix -Wsign-conversion warnings
    • !4950 gobject: Fix -Wshorten-64-to-32 warnings and enable warning flag
    • !4958 gtestutils: Avoid pointless logging string handling in gtestutils
    • !4959 glib-unix: Implement g_unix_fd_query_path for Cygwin
    • !4964 gio: Fix some -Wsign-conversion warnings
    • !4965 gmodule: Enable -Wshorten-64-to-32 warnings for gmodule
    • !4967 Fixup unicode 17

Overview of changes in GLib 2.87.1, 2025-12-30

  • Several low-risk CVE fixes
  • Fix return type of gi_callable_info_get_closure_native_address()
  • Tweak thread pool handling for GTask threads to prevent stalls
  • Respect NO_COLOR environment variable in log output
  • Update file system type lists to mark more file system types as system ones and to recognise ntfs3 file systems
  • Add G_GNUC_FLAG_ENUM attribute to mark enums as flags
  • Add a static CRT constructor and fusion manifest XML for GLib utilities on Windows so that stderr can be unbuffered and streams are flushed on exit
  • Fix G_FILE_MONITOR_WATCH_HARD_LINKS on Windows
  • Bugs fixed:
    • #74 ignore case and '-' vs '_' differences when maching on enum/flag nick/name
    • #1181 Test failure: check_expected_events
    • #3360 msys2-mingw32 CI failure: mingw-w64-i686-gcc and mingw-w64-i686-gcc- objc are in conflict
    • #3733 gi-compile-repository.py test intermittently fails on Windows with empty stderr
    • #3818 g_main_context_check with a NULL context crashes
    • #3819 G_FILE_MONITOR_WATCH_HARD_LINKS flag does not monitor files on Windows
    • #3827 (CVE-2025-13601) (#YWH-PGM9867-134) Incorrect calculation of buffer size in g_escape_uri_string()
    • #3828 NTFS not detected by g_file_info_get_attribute_string
    • #3834 (CVE-2025-14087) (#YWH-PGM9867-145) Buffer underflow on Glib through glib/gvariant via bytestring_parse() or string_parse() leads to OOB Write
    • #3840 GTask: g_task_run_in_thread never starts pending tasks
    • #3843 glib: Integer overflow in g_bytes_new_from_bytes() leads to corrupted GBytes object
    • #3845 (CVE-2025-14512) GIO: Integer overflow in file attribute escaping
    • #3851 Integer overflow in g_buffered_input_stream_peek() leads to segmentation fault
    • #3859 Return type of gi_callable_info_get_closure_native_address() should be void*
    • !4883 ci: Do not use anymore only/except deprecated syntax
    • !4885 ci: Track changes to gir files using artifacts and MRs comments
    • !4898 glog: respect NO_COLOR environment variable
    • !4899 genvironment: consider macOS behavior when testing g_getenv
    • !4900 Add G_GNUC_FLAG_ENUM
    • !4904 glog: guard NO_COLOR environment variable check with a GOnce for performance reasons
    • !4907 completion: fix error on nounset mode unknown completions
    • !4908 glocalfile: Complain if faccessat sets an unusual error and use AT_FDCWD
    • !4909 glocalfile: Fix trash user cancellation not reported on Windows
    • !4910 ci: Use issue bot native support for $ISSUE_BOT_API_TOKEN_FILE
    • !4913 gdbusprivate: check length of path to GDBus binary
    • !4916 gio/gunixmounts: mark some file-system types as system
    • !4920 tests: Fix static-link test when running installed
    • !4921 gutf8: Add tests and clarify documentation for g_unichar_to_utf8()
    • !4922 ci: Enable the gobject-introspection build for the debian-stable-i386 job
    • !4923 Added AIX implementation of g_unix_fd_query_path
    • !4926 Fix g_strcompress docs (mod 256)
    • !4928 Update of the Occitan translation
    • !4930 gio/gunixmounts: Mark more file systems as system internal
    • !4931 gio/gunixmounts: Replace /bin/efi with /boot/efi
    • !4937 docs(GResource): Tweak overlays description
    • !4939 gsocks4aproxy: Fix a buffer leak when finishing connecting
    • !4941 gsignal: Cleanup handler disconnection avoiding unneeded operations
    • !4942 gio: Fix a few -Wsign-conversion warnings
    • !4943 ci: Some fixups on the gir checker

Overview of changes in GLib 2.87.0, 2025-11-03

  • Update to Unicode 17.0.0
  • Support runtime extensions to gdbus-codegen tool to allow modifying its output in project-specific ways
  • Use document portal to open all the URIs for snaps
  • Add g_markup_parse_context_get_offset() API for getting error locations in XML files
  • Bugs fixed:
    • GNOME/ptyxis#490 new tab does not open in current directory when hostname contains a period
    • #672 hash resize broken for large sizes (Tobias Stoeckmann)
    • #2608 Support nanosecond time resolution with stat() on macOS
    • #2949 gdbus-server-auth test intermittently fails on macOS
    • #3070 gio/g-file-info test fails on macOS
    • #3523 g_filename_from_uri rejects valid host names according to RFC 1123
    • #3745 GIRepository: union fields offsets for compiled typelibs all have offset 0xffff (unknown)
    • #3771 Should opening a .desktop file fail if Exec key contains invalid escapes?
    • #3780 gio/tests/socket-listener requires dlsym
    • #3781 GLib.OptionContext's get_help() includes width of invisible options
    • #3783 [CI] Pipeline on 'main' failed for commit c31c4a52
    • #3784 Memory leak related to g_get_home_dir
    • #3785 "gio trash --empty" returns 0 even when it fails to remove files
    • #3790 _g_log_abort() should check TracerPid from /proc before raising SIGTRAP
    • #3798 Gio.AppInfo.launch_default_for_uri_async crashes with non-existent paths
    • #3803 GNetworkMonitor's netlink backend doesn't notify connectivity change
    • #3805 [CI] Pipeline on 'main' failed for commit e6c52881
    • #3806 fake-document-portal needs to use _g_fd_query_path() rather than accessing /proc/self/fd directly (Marco Trevisan
    • #3808 Uyghur language translation updated.
    • #3809 GRegex tests fail with pcre2 10.47: different error for ^(a)\g{3 (Marco Trevisan
    • #3811 g_get_user_special_dir doesn't strip trailing slash from $HOME/ (Tobias Stoeckmann)
    • ​https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/
    • !4753 GIO/Win32: Remove custom definitions of system interfaces
    • !4755 ghash: Fix entry_is_big for CHERI architecture
    • !4756 ghash: Handle all table sizes in iterator
    • !4759 GWin32AppInfo: Allow focus-stealing when requested via GAppLaunchContext
    • !4760 gbookmarkfile: Escape icon href and mime-type
    • !4764 subprojects: Update libffi, pcre2, proxy-libintl
    • !4773 docs: Add Luca Bacci as a co-maintainer of the Windows code
    • !4778 tests: Fix clang compilation warnings
    • !4779 gmem: Replace SIZE_OVERFLOWS with g_size_checked_mul
    • !4789 gio: add some nullable / zero-terminated annotations
    • !4790 gstring: Support large strings in g_string_replace
    • !4791 gstrfuncs: Check string length in g_strescape
    • !4792 gtype: Define copy and free functions for GTypeClass and GTypeInterface
    • !4793 gunicode: Update the code for Unicode 17.0.0
    • !4794 CI/MSYS2: Use builtin b_coverage option
    • !4795 Meson: Add arguments and defines to all C-like languages
    • !4798 GDBus: Add (out) annotation to quark in g_dbus_error_register_error_domain()
    • !4800 gutils: Improve load_user_special_dirs' user-dirs.dirs parser
    • !4803 Add missing (array length=n_values) annotation to GEnumClass / GFlagsClass
    • !4806 build: Post-release version bump
    • !4807 Add missing "nullable" to parameter docs of GList/GSList
    • !4810 gutils: Mark load_user_special_dirs unlocked
    • !4811 Update Esperanto translation
    • !4812 gdbus-codegen: Support extensions and changing the GDBusInterfaceSkeleton type to inherit from
    • !4813 Update Serbian translation
    • !4815 gfile: Expand documentation around file equality
    • !4816 strfuncs: Check for overflows when joining strings
    • !4817 Mark a couple of functions as constructors and not methods
    • !4819 utils: Fix a leak when user-dirs.dirs declares a variable twice
    • !4820 gio/tests: Fix a race condition in /gdbus/connection/flush
    • !4822 GDesktopAppInfo: Use document portal to open all the URIs for snaps
    • !4823 gio/gdocumentportal: Use the target name when opening a symlink
    • !4825 gdbus-codegen: Supress coverity warning in skeleton finalization
    • !4827 ghostutils: Treat 0x80 (and above) as non-ASCII
    • !4829 docs: Fix typos in win32-build.md
    • !4830 giowin32: Fix uninitialised variable error on msys2-clang64
    • !4831 macros: Add C23/C++23 standards
    • !4832 gtypes: Support more overflow check implementations
    • !4835 Update Portuguese translation
    • !4837 tests: Fix another clang compiler warning
    • !4838 GLocalFile: keep suffix name when trashing
    • !4840 gpattern: Support patterns/strings longer than G_MAXUINT
    • !4843 tests: Use integer widths rather than maximum values for strfuncs check
    • !4844 Forward-port !4839 “Update Romanian translation” to main
    • !4847 GFile entity tags: Update HTTP reference link to point to RFC9110 ETags description
    • !4851 Docs: New file-name-encodings image: light/dark, color
    • !4855 glib-compile-resources: print error message when the temp file cannot be created
    • !4856 Mark return value of g_dbus_interface_get_info() as nullable
    • !4857 Docs: Migrate gvariant-*.svg licenses to comments
    • !4858 gsocketcontrolmessage: Fix a minor typo in a doc comment
    • !4860 Fix g_memory_monitor_base_query_mem_ratio on Solaris
    • !4861 gio/tests/gapplication: Check the values received on action activation
    • !4862 ci: Temporarily disable macos-arm64 CI as it has issues creating temp files
    • !4863 ci: Temporarily disable msys2-mingw32 CI
    • !4864 ci: Update Fedora CI image to Fedora 41
    • !4866 Fix various scan-build errors
    • !4870 Reenable MSYS2 CI
    • !4874 ci: use APFS for macOS TMPDIR
    • !4877 gresolver: Fix loopback detection of IPv6 addresses
    • !4879 Add g_markup_parse_context_get_offset
    • !4887 glib-unix: Add Solaris implementation of g_unix_fd_query_path
    • !4893 ci: Use CI/CD file variable tokens for secrets
    • !4894 gthread-win32: Ignore error when setting thread priority
    • !4895 gunixmounts: fix out of bounds write in AIX mount table parser
    • !4896 ci: Actually use token file for the issue bot
    • !4897 Re-enable PCRE2 tests for 32-bit Visual Studio builds

comment:5 by Bruce Dubbs, 6 months ago

Resolution: → fixed
Status: assigned → closed

Fixed at commits:

a03d3de642 Update to gegl-0.4.70.
7e050ad13f Update to pciutils-3.15.0.
2b3d0f8cb2 Update to glib-2.88.0.
8599bb3e77 Update to glibmm-2.88.0.
Note: See TracTickets for help on using tickets.