CVE-2025-13601
WysokieCVSS 7.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
W bibliotece glib wykryto przepełnienie bufora sterty spowodowane błędnym obliczeniem rozmiaru bufora w funkcji g_escape_uri_string(). Jeśli przetwarzany ciąg zawiera bardzo dużą liczbę znaków wymagających kodowania, obliczenie długości wynikowego ciągu może ulec przepełnieniu, co prowadzi do zapisu poza przydzieloną pamięcią.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zdalnego wykonania kodu lub spowodowania awarii systemu, co zagraża poufności, integralności i dostępności danych.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę glib do wersji, w której poprawiono obliczanie rozmiaru bufora w funkcji g_escape_uri_string().
Inne podatności w glib
Zobacz wszystkie- CVE-2024-52533Średnie
W GNOME GLib przed wersją 2.82.1 w pliku gio/gsocks4aproxy.c występuje błąd off-by-one, prowadzący do przepełnienia bufora, ponieważ stała SOCKS4_CONN_MSG_LEN jest za mała dla kończącego znaku '\0'.
- CVE-2024-34397Średnie
W GNOME GLib przed wersją 2.78.5 oraz w wersjach 2.79.x i 2.80.x przed 2.80.1 wykryto problem, w którym klient GDBus subskrybujący sygnały od zaufanego systemowego serwisu (np. NetworkManager) na współdzielonym komputerze może otrzymywać fałszywe sygnały D-Bus od innych użytkowników tego samego komputera.
- CVE-2026-15588Średnie
Podatność na odmowę usługi i wyczerpanie zasobów w komponencie GDBus biblioteki GLib. Mechanizm uwierzytelniania gdbusauth nie egzekwuje odpowiednich ograniczeń długości linii danych odczytywanych od klienta. Nieuwierzytelniony atakujący lokalny lub zdalny może wysyłać nadmiernie długie strumienie danych, powodując ogromne zużycie pamięci i CPU, co może prowadzić do awarii lub zawieszenia systemu.
- CVE-2026-58016Wysokie
W GLib znaleziono błąd w funkcji g_dbus_node_info_new_for_xml() podczas przetwarzania nieprawidłowego XML-a introspekcji D-Bus. Zagnieżdżenie elementu `node` wewnątrz innych elementów może spowodować przepełnienie liczby całkowitej bez znaku i odczyt poza zakresem, prowadząc do odmowy usługi.
- CVE-2026-58015Średnie
W GLib, implementacja mechanizmu uwierzytelniania DBUS_COOKIE_SHA1 SASL po stronie klienta D-Bus nie waliduje parametru cookie_context otrzymanego od serwera. Złośliwy serwer D-Bus może dostarczyć cookie_context zawierający sekwencje przejścia ścieżki, powodując odczyt dowolnego pliku i wyciek danych.
- CVE-2026-58014Wysokie
W bibliotece GLib wykryto błąd off-by-one w funkcji g_key_file_get_locale_string_list w pliku gkeyfile.c. Błąd występuje podczas ładowania pliku klucza z pustą wartością, co może prowadzić do dostępu poza zakresem o 1 bajt lub do odmowy usługi, gdy dostęp poza zakresem przekroczy granicę strony.
- CVE-2026-58013Średnie
W bibliotece GLib wykryto błąd polegający na odczycie poza buforem w funkcji g_io_channel_read_line_backend() w pliku giochannel.c. Problem występuje, gdy ustawiony jest niestandardowy terminator linii o długości większej niż jeden, co powoduje, że memcmp odczytuje dane poza buforem GString. Podatność może prowadzić do ujawnienia 7 bajtów danych lub do odmowy usługi (DoS) w przypadku przekroczenia granicy strony.
- CVE-2026-58012Średnie
W bibliotece GLib wykryto podatność polegającą na odczycie poza zakresem bufora w funkcji g_regex_replace. Problem występuje przy użyciu flagi G_REGEX_RAW oraz sekwencji zmiany wielkości liter w zamianach, gdy funkcja string_append przetwarza dopasowane podłańcuchy za pomocą funkcji UTF-8 zakładających poprawne dane wejściowe, nawet gdy ciąg jest traktowany jako surowe bajty. Może to prowadzić do ujawnienia 1-5 bajtów danych oraz do odmowy usługi przy przekroczeniu granicy strony.
- CVE-2026-58011Średnie
W bibliotece GLib wykryto podatność polegającą na odczycie poza dozwolonym zakresem (2 bajty) w funkcji g_date_time_get_ymd w pliku glib/gdatetime.c. Problem występuje podczas przetwarzania nieprawidłowego obiektu GDateTime utworzonego przez funkcję g_date_time_add_full.
- CVE-2026-58010Średnie
W bibliotece GLib wykryto błąd off-by-one w funkcji gvs_tuple_is_normal w pliku glib/gvariant-serialiser.c. Podczas sprawdzania wyrównania pamięci użyto operatora > zamiast >=, co prowadzi do odczytu o jeden bajt poza dozwolonym zakresem. Problem może skutkować ujawnieniem jednego bajta danych oraz odmową usługi, gdy odczyt wykracza poza granicę strony pamięci.
Oryginalny opis (angielski, źródło NVD)
A heap-based buffer overflow problem was found in glib through an incorrect calculation of buffer size in the g_escape_uri_string() function. If the string to escape contains a very large number of unacceptable characters (which would need escaping), the calculation of the length of the escaped string could overflow, leading to a potential write off the end of the newly allocated string.

