CRITICAL✓ PATCH🇬🇧 English

CVE-2023-5941

FreeBSD libc stdio: heap buffer overflow w funkcji __sflush()

CVSS 9.8v3.1pub. 2023-11-08upd. 2024-11-21

Podatność w funkcji __sflush() biblioteki libc systemu FreeBSD powoduje nieprawidłowe aktualizowanie wewnętrznych struktur FILE przy błędzie wywołania systemowego write(2), co może prowadzić do przepełnienia bufora na stercie (heap buffer overflow). Ze względu na możliwość wykonania dowolnego kodu z uprawnieniami wywołującego programu podatność jest oceniana jako krytyczna.

Pokaż oryginał (EN)

In versions of FreeBSD 12.4-RELEASE prior to 12.4-RELEASE-p7 and FreeBSD 13.2-RELEASE prior to 13.2-RELEASE-p5 the __sflush() stdio function in libc does not correctly update FILE objects' write space members for write-buffered streams when the write(2) system call returns an error.  Depending on the nature of an application that calls libc's stdio functions and the presence of errors returned from the write(2) system call (or an overridden stdio write routine) a heap buffer overflow may occur. Such overflows may lead to data corruption or the execution of arbitrary code at the privilege level of the calling program.

🤖 Analiza AI
Jak działa

Funkcja __sflush() obsługująca buforowane operacje zapisu w standardowej bibliotece libc nie aktualizuje poprawnie pól opisujących dostępne miejsce w buforze zapisu obiektu FILE, gdy wywołanie systemowe write(2) zwróci błąd. Jeśli aplikacja korzysta z funkcji stdio (np. fwrite, fflush) i w trakcie jej działania pojawi się błąd z write(2) — lub z nadpisanej przez aplikację procedury zapisu stdio — wewnętrzny stan bufora może stać się niespójny. Prowadzi to do zapisu poza granice przydzielonego na stercie bufora (heap buffer overflow), ponieważ biblioteka operuje na nieprawidłowych wskaźnikach granicy bufora.

Skutki

Atakujący lub złośliwe dane wejściowe mogą doprowadzić do uszkodzenia danych w pamięci lub wykonania dowolnego kodu (RCE) z poziomem uprawnień procesu, który wywołał podatną funkcję biblioteczną.

Mitygacja

Należy zaktualizować system do FreeBSD 12.4-RELEASE-p7 lub nowszego (dla gałęzi 12.4) albo do FreeBSD 13.2-RELEASE-p5 lub nowszego (dla gałęzi 13.2). Szczegóły dostępne w komunikacie bezpieczeństwa FreeBSD-SA-23:15.stdio pod adresem https://security.freebsd.org/advisories/FreeBSD-SA-23:15.stdio.asc.

Kogo dotyczy

FreeBSD 12.4-RELEASE w wersjach wcześniejszych niż 12.4-RELEASE-p7 oraz FreeBSD 13.2-RELEASE w wersjach wcześniejszych niż 13.2-RELEASE-p5.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Freebsd

    OS
    Freebsd
    12.413.2< 12.413.0 – 13.2 (bez)
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2026-58082CRITICAL9.8ten sam produkt

The ISO-2022 encoding module used a stack buffer sized to MB_LEN_MAX (6 bytes) for intermediate character outp...

CVE-2026-58081CRITICAL9.8ten sam produkt

Several encoding modules, including HZ, UTF-7, VIQR, and ZW, did not properly check the size of the caller-sup...

CVE-2024-43102CRITICAL10.0PL ✓ten sam produkt

FreeBSD UMTX_SHM_DESTROY: use-after-free umożliwiający RCE lub ucieczkę z sandboxa

CVE-2024-29937CRITICAL9.8PL ✓ten sam produkt

RCE w implementacji NFS w OpenBSD i FreeBSD — zdalne wykonanie kodu

CVE-2022-23088CRITICAL9.8PL ✓ten sam produkt

FreeBSD: przepełnienie bufora w obsłudze beacon 802.11s prowadzące do RCE