CVE-2026-7828

UltraVNC repeater integer overflow in win_log malloc leading to heap overflow

Published Jul 1, 2026 CVSS 3.1 · 5.3 Medium EPSS 1.4% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

An integer overflow occurs in the win_log() function of the UltraVNC repeater when logging HTTP request URIs. The allocation size is computed as sizeof(struct LIST) plus the length of the URI string; if the string length is large enough, the addition overflows and results in a size smaller than the required allocation. The following strcpy then writes the full URI into this undersized buffer, causing a heap buffer overflow. The overflow is limited by the HTTP receive buffer size of 153600 bytes on 32‑bit builds, so only a partial heap write is possible.

Affected Systems

The weakness affects the UltraVNC repeater component, specifically the web GUI implementation in repeater/webgui/settings.c. All released versions up to and including 1.8.2.2 are subject to the flaw; no later release or patch information is available in the provided references.

Risk and Exploitability

The CVSS score of 5.3 shows a moderate potential impact. The EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog. A remote, unauthenticated attacker can trigger the overflow by sending a very long URI in an HTTP request to the repeater’s HTTP port. The attack vector is network‑based and requires no authentication; exploitation would likely manifest as a denial of service or other memory‑corruption side effects.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update UltraVNC to a version released after 1.8.2.2 or apply any vendor‑issued patch that corrects the overflow logic.
  • Configure the repeater’s HTTP server or use a firewall to reject requests with excessively long URIs or limit the maximum HTTP request size to a value safely below the 153600‑byte boundary.
  • Enable logging and monitor for abnormal request URI lengths or repeated attempts to send large payloads; investigate any incidents promptly.

Generated by OpenCVE AI on July 1, 2026 at 13:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Uvnc
Uvnc ultravnc
Vendors & Products Uvnc
Uvnc ultravnc
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title UltraVNC repeater integer overflow in win_log malloc leading to heap overflow
Weaknesses CWE-190
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound

Sources

Status
PUBLISHED
Assigner
securin
Published
Updated
Jul 9, 2026, 4:36 AM
Reserved
May 5, 2026, 3:40 AM
Status
Modified
Published
Jul 1, 2026, 5:16 AM
Modified
Oct 25, 2026, 5:10 PM