CVE-2026-39457
WysokieStreszczenie
Podatność w libnv polega na braku weryfikacji, czy dostarczony deskryptor gniazda mieści się w limicie rozmiaru zestawu deskryptorów plików FD_SETSIZE (1024) podczas wymiany danych przez gniazdo. Atakujący może wymusić na aplikacji libnv alokację dużych deskryptorów plików, co może prowadzić do uszkodzenia stosu.
Ocena ryzyka
Jeśli podatna aplikacja jest uruchamiana z uprawnieniami setuid-root, atakujący może wykorzystać tę podatność do podniesienia lokalnych uprawnień, co stanowi poważne zagrożenie dla bezpieczeństwa systemu.
Rekomendacja
Zaleca się wprowadzenie weryfikacji deskryptorów gniazd w aplikacjach korzystających z libnv, aby upewnić się, że nie przekraczają one limitu FD_SETSIZE. Dodatkowo, należy unikać uruchamiania aplikacji z uprawnieniami setuid-root, jeśli nie jest to absolutnie konieczne.
Inne podatności w libnv
Oryginalny opis (angielski, źródło NVD)
When exchanging data over a socket, libnv uses select(2) to wait for data to arrive. However, it does not verify whether the provided socket descriptor fits in select(2)'s file descriptor set size limit of FD_SETSIZE (1024). An attacker who is able to force a libnv application to allocate large file descriptors, e.g., by opening many descriptors and executing a program which is not careful to close them upon startup, can trigger stack corruption. If the target application is setuid-root, then this could be used to elevate local privileges.

