Podatność klasy buffer overflow (CWE-119) w bibliotece libwebsockets firmy warmcat umożliwia manipulację wskaźnikami w pamięci na platformie Win32, co może prowadzić do korupcji pamięci lub niekontrolowanego zachowania aplikacji. Ocena CVSS 10.0 oznacza najwyższy możliwy poziom krytyczności.
▸ Pokaż oryginał (EN)
Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in warmcat libwebsockets allows Pointer Manipulation, potentially leading to out-of-bounds memory access. This issue affects libwebsockets before 4.3.4 and is present in code built specifically for the Win32 platform. By default, the affected code is not executed unless one of the following conditions is met: LWS_WITHOUT_EXTENSIONS (default ON) is manually set to OFF in CMake. LWS_WITH_HTTP_STREAM_COMPRESSION (default OFF) is manually set to ON in CMake. Despite these conditions, when triggered in affected configurations, this vulnerability may allow attackers to manipulate pointers, potentially leading to memory corruption or unexpected behavior.
Błąd polega na braku właściwej kontroli operacji wykonywanych w granicach bufora pamięci, co pozwala atakującemu na manipulację wskaźnikami i dostęp do obszarów pamięci poza dozwolonymi granicami (out-of-bounds memory access). Podatny kod jest obecny wyłącznie w kompilacjach na platformę Win32 i domyślnie nie jest wykonywany. Staje się aktywny, gdy w konfiguracji CMake zostanie ręcznie ustawiony parametr LWS_WITHOUT_EXTENSIONS na OFF lub LWS_WITH_HTTP_STREAM_COMPRESSION na ON — są to wartości inne niż domyślne.
W podatnych konfiguracjach atakujący może doprowadzić do korupcji pamięci procesu lub wywołać niekontrolowane zachowanie aplikacji korzystającej z biblioteki, co w konsekwencji może umożliwić zdalne wykonanie kodu (RCE) lub destabilizację usługi.
Należy zaktualizować libwebsockets do wersji 4.3.4 lub nowszej. Dostępna poprawka: commit 3f7c79fd57338aca1bf4a1b1f24e324b80d36265 w repozytorium GitHub warmcat/libwebsockets. Jeśli aktualizacja nie jest natychmiast możliwa, należy upewnić się, że w konfiguracji CMake parametry LWS_WITHOUT_EXTENSIONS pozostają ustawione na ON (wartość domyślna), a LWS_WITH_HTTP_STREAM_COMPRESSION na OFF (wartość domyślna).
libwebsockets w wersjach przed 4.3.4, skompilowanych na platformę Win32 z niedomyślnymi opcjami: LWS_WITHOUT_EXTENSIONS=OFF lub LWS_WITH_HTTP_STREAM_COMPRESSION=ON
Podatność dotyczy wyłącznie kompilacji na platformę Win32 z niedomyślnymi opcjami CMake — domyślna konfiguracja biblioteki nie jest podatna. Mimo oceny CVSS 10.0 rzeczywisty zasięg zagrożenia jest ograniczony do specyficznych, niestandardowych konfiguracji budowania.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X