Podatność w GNU C Library (glibc) wersjach 2.7–2.43 umożliwia przepełnienie bufora sterty o jeden bajt (heap buffer overflow) podczas wywołania funkcji z rodziny scanf z określonym formatem. Ze względu na krytyczny wynik CVSS 9.8 i możliwość zdalnego wykorzystania bez uwierzytelnienia stanowi poważne zagrożenie dla systemów opartych na glibc.
▸ Pokaż oryginał (EN)
Calling the scanf family of functions with a %mc (malloc'd character match) in the GNU C Library version 2.7 to version 2.43 with a format width specifier with an explicit width greater than 1024 could result in a one byte heap buffer overflow.
Błąd (CWE-122, CWE-787) ujawnia się przy użyciu specyfikatora formatu %mc (malloc'd character match) w połączeniu z szerokością pola (width specifier) o wartości większej niż 1024. W takiej sytuacji funkcja z rodziny scanf błędnie oblicza rozmiar alokowanego bufora na stercie, co skutkuje zapisem jednego bajtu poza jego granicą (off-by-one heap buffer overflow). Nieprawidłowy zapis na stercie może prowadzić do uszkodzenia struktur zarządzania pamięcią.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE), naruszenia poufności i integralności danych lub niedostępności usługi. Wektor sieciowy bez wymagań uwierzytelnienia i interakcji użytkownika (AV:N/AC:L/PR:N/UI:N) znacząco zwiększa ryzyko exploitacji.
Należy zaktualizować glibc do wersji niezawierającej podatności zgodnie z informacjami opublikowanymi przez producenta (ogłoszenie dostępne pod adresem wskazanym w referencjach). Do czasu aktualizacji zaleca się unikanie przetwarzania niezaufanych danych wejściowych przez funkcje z rodziny scanf z użyciem specyfikatora %mc i szerokością pola powyżej 1024.
GNU C Library (glibc) w wersjach od 2.7 do 2.43 włącznie — dotyczy systemów Linux i innych środowisk korzystających z glibc w tym zakresie wersji.
Podatność dotyczy wyłącznie kombinacji specyfikatora %mc z szerokością pola większą niż 1024 — inne wywołania funkcji scanf nie są podatne. Informacja o błędzie opublikowana została przez Red Hat za pośrednictwem listy libc-announce.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HGnu Glibc
APPGnu2.7 – 2.43
Powiązane podatności
sprintf in the GNU C Library (glibc) 2.37 has a buffer overflow (out-of-bounds write) in some situations with ...
The deprecated compatibility function clnt_create in the sunrpc module of the GNU C Library (aka glibc) throug...
The deprecated compatibility function svcunix_create in the sunrpc module of the GNU C Library (aka glibc) thr...
The wordexp function in the GNU C Library (aka glibc) through 2.33 may crash or read arbitrary memory in parse...
The mq_notify function in the GNU C Library (aka glibc) versions 2.32 and 2.33 has a use-after-free. It may us...