Wywoływanie funkcji wspieranej przez NSS z buforowaniem za pośrednictwem nscd może uruchamiać kod po stronie klienta nscd, a w GNU C Library w wersji 2.36 na systemach x86_64 przy dużym obciążeniu klient może wywoływać memcmp na danych jednocześnie modyfikowanych przez inne procesy lub wątki, powodując awarię. Klient nscd w GNU C Library używa funkcji memcmp z danymi, które mogą być jednocześnie modyfikowane przez inny wątek, potencjalnie powodując fałszywe chybienia cache'a, co samo w sobie nie jest zagrożeniem bezpieczeństwa. Jednak w GNU C Library wersji 2.36 wprowadzono zoptymalizowaną implementację memcmp dla x86_64, która mogła się zawiesić przy wywoływaniu z takim niezdefiniowanym zachowaniem, zamieniając to w potencjalną awarię klienta nscd i aplikacji go używającej. Ta implementacja została przeniesiona na gałąź 2.35, czyniąc klienta nscd na tej g
▸ Pokaż oryginał (EN)
Calling NSS-backed functions that support caching via nscd may call the nscd client side code and in the GNU C Library version 2.36 under high load on x86_64 systems, the client may call memcmp on inputs that are concurrently modified by other processes or threads and crash. The nscd client in the GNU C Library uses the memcmp function with inputs that may be concurrently modified by another thread, potentially resulting in spurious cache misses, which in itself is not a security issue. However in the GNU C Library version 2.36 an optimized implementation of memcmp was introduced for x86_64 which could crash when invoked with such undefined behaviour, turning this into a potential crash of the nscd client and the application that uses it. This implementation was backported to the 2.35 branch, making the nscd client in that branch vulnerable as well. Subsequently, the fix for this issue was backported to all vulnerable branches in the GNU C Library repository. It is advised that distributions that may have cherry-picked the memcpy SSE2 optimization in their copy of the GNU C Library, also apply the fix to avoid the potential crash in the nscd client.
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HGnu Glibc
APPGnu2.35 – 2.37 (bez)
Powiązane podatności
Heap buffer overflow w GNU C Library — funkcje scanf z formatem %mc
Buffer overflow w funkcji sprintf biblioteki GNU glibc 2.37
Buffer overflow w funkcji svcunix_create biblioteki GNU C (glibc)
Buffer overflow w funkcji clnt_create glibc — RCE lub DoS
Przepełnienie liczby całkowitej w funkcji wordexp biblioteki GNU glibc