CVE-2026-7828 PUBLISHED

UltraVNC repeater integer overflow in win_log malloc leading to heap overflow

Assigner: securin
Reserved: 05.05.2026 Published: 01.07.2026 Updated: 01.07.2026

UltraVNC repeater through 1.8.2.2 contains an integer overflow in the HTTP request logging path. In repeater/webgui/settings.c:336, the win_log() function allocates list nodes via malloc(sizeof(struct LIST) + strlen(line)), where line is derived from HTTP request URIs. If strlen(line) is sufficiently large, the addition overflows to a value smaller than sizeof(struct LIST), causing a heap allocation smaller than required. The subsequent strcpy of the full string into the undersized allocation produces a heap buffer overflow. In the current implementation this overflow is bounded by the HTTP receive buffer size (WI_RXBUFSIZE = 153600 bytes, well below SIZE_MAX on 32-bit builds), limiting practical exploitability to a partial heap write. A remote unauthenticated attacker can trigger the theoretical overflow path by sending a maximally-sized URI in an HTTP request to the repeater HTTP port.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS Score: 5.3

Product Status

Vendor uvnc
Product UltraVNC
Versions Default: unaffected
  • affected from 0 to 1.8.2.2 (incl.)

Credits

  • Arjun Basnet, Securin (arjun.basnet@securin.io) finder

References

Problem Types

  • Integer Overflow or Wraparound CWE