CVE-2026-7831
WysokieCVSS 7.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 — wyżej niż 33% wszystkich znanych CVE
Streszczenie
UltraVNC viewer do wersji 1.8.2.2 zawiera podatność typu off-by-one w buforze stosu w obsłudze wiadomości ServerInit protokołu RFB. Gdy serwer poda nazwę pulpitu o długości dokładnie 2024 bajtów, funkcja ReadString zapisuje znak null jeden bajt poza przydzielonym buforem, co może prowadzić do przepełnienia stosu.
Ocena ryzyka
Złośliwy serwer VNC może wykorzystać tę podatność do spowodowania awarii klienta (odmowa usługi) lub potencjalnie do nadpisania danych na stosie, co w zależności od konfiguracji kompilacji może umożliwić zdalne wykonanie kodu. Wymagane jest połączenie użytkownika z atakującym serwerem.
Rekomendacja
Zaleca się natychmiastową aktualizację UltraVNC do wersji nowszej niż 1.8.2.2, gdy tylko będzie dostępna. Do czasu aktualizacji należy unikać łączenia się z niezaufanymi serwerami VNC.
Oryginalny opis (angielski, źródło NVD)
UltraVNC viewer through 1.8.2.2 contains an off-by-one stack buffer overflow in the RFB ServerInit message handler. In vncviewer/ClientConnection.cpp, when the server-supplied nameLength equals exactly 2024 the code declares a 2024-byte stack buffer _dn[2024] and calls ReadString(_dn, 2024). ReadString writes the NUL terminator at buf[length], i.e., _dn[2024], one byte past the end of the stack buffer. A malicious VNC server can trigger this condition by advertising a desktop name of length 2024 in its ServerInit message. On release builds without stack canaries the single-byte NUL overwrite adjacent stack data. On builds with /GS stack protection the canary is corrupted and the process terminates, resulting in denial of service. User interaction (connecting the viewer to the malicious server) is required.

