MEDIUM 5.3

CVE-2026-7828: UltraVNC Repeater Integer Overflow in HTTP Logging—Exploitation & Patching Guide

UltraVNC repeater versions up to 1.8.2.2 contain a memory allocation flaw triggered by oversized HTTP requests. When a user sends an HTTP request with an exceptionally long URI to the repeater's web interface port, the logging function attempts to allocate memory based on the URI length but miscalculates the size due to integer overflow. This causes the system to reserve far less memory than needed, and the subsequent copy of the full URI data spills beyond the allocated buffer, corrupting heap memory. An attacker on the network can trigger this condition without authentication, potentially destabilizing the repeater process or, in theory, achieving limited code execution through heap manipulation.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weaknesses (CWE)
CWE-190
Affected products
1 configuration(s)
Published / Modified
2026-07-01 / 2026-07-09

NVD description (verbatim)

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.

3 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in repeater/webgui/settings.c at line 336 within the win_log() function. The issue stems from unsafe integer arithmetic in the malloc call: malloc(sizeof(struct LIST) + strlen(line)). When strlen(line) approaches the upper bounds of the HTTP receive buffer (153,600 bytes), adding it to sizeof(struct LIST) causes an integer overflow on 32-bit systems, wrapping the result to a much smaller value. The function then copies the full-length line via strcpy into this undersized heap allocation, triggering a classic heap buffer overflow. The overflow is bounded by the WI_RXBUFSIZE constant, which caps the input at approximately 150 KB—well below SIZE_MAX on 32-bit platforms, meaning the overflow is partial rather than wraparound-style unlimited. This constraint limits the immediate exploitability but does not eliminate the memory corruption risk.

Business impact

A denial-of-service condition is the most likely near-term impact: repeated or sustained oversized HTTP requests could crash the repeater service, interrupting remote desktop connectivity for all clients relying on that repeater instance. Depending on heap layout and system configuration, more sophisticated heap exploitation may allow an unauthenticated remote attacker to corrupt adjacent heap structures or, in targeted scenarios, achieve arbitrary code execution within the repeater process—potentially compromising the integrity of all VNC sessions passing through that repeater. Organizations operating UltraVNC repeaters in production should assess the criticality of those services and their exposure to untrusted networks.

Affected systems

UltraVNC repeater through version 1.8.2.2 is affected. The vulnerability applies to any deployment where the repeater's HTTP management interface is accessible to potential attackers. This includes repeaters running on public-facing servers, internal networks with compromised or untrusted clients, and development/testing environments. Repeaters handling mission-critical remote access should be prioritized for patching.

Exploitability

The vulnerability requires network access to the repeater's HTTP port and no authentication credentials. An attacker can craft an HTTP request with a maximally-sized URI to trigger the overflow path. While the bounded nature of the overflow (limited by the 153 KB receive buffer) prevents certain unbounded heap exploitation techniques, practical proof-of-concept work confirms that denial of service is achievable. More sophisticated heap spraying and layout manipulation might extend this to code execution in some configurations, but such attacks depend heavily on the target system's memory layout, heap allocator behavior, and concurrent activity. The CVSS score of 5.3 (MEDIUM) reflects the denial-of-service vector with limited confidentiality or integrity impact in the default scenario.

Remediation

Upgrade UltraVNC repeater to a patched version released after the vulnerability disclosure. Verify the exact patched version number against the official UltraVNC project advisory or release notes. Pending patches, restrict network access to the repeater's HTTP management port via firewall rules—only allow connections from trusted administrative networks. Monitor repeater process stability and consider restarting it periodically if patch deployment is delayed. Test patches in a non-production environment first to ensure compatibility with your VNC client and server configurations.

Patch guidance

Consult the official UltraVNC project website and security advisories for the exact patched version number. The fix likely addresses the integer overflow by either validating the URI length before allocation or using safe arithmetic functions. After patching, verify the repeater version via its admin interface or command-line tools. Rolling out patches should be coordinated with your change management process to minimize downtime; consider scheduling updates during maintenance windows or using multiple repeater instances behind a load balancer to allow phased patching.

Detection guidance

Monitor repeater error logs and system crash reports for signs of buffer overflow exploitation (segmentation faults, access violations, or heap corruption warnings). Network intrusion detection systems should look for HTTP requests to the repeater port with unusually long URIs (approaching or exceeding 150 KB). Implement HTTP request size limits at any proxy or firewall in front of the repeater to reject oversized requests before they reach the vulnerable code. Heap debugging tools (ASAN, Valgrind) can be run in test environments to identify the overflow during security testing of patched versions.

Why prioritize this

This vulnerability merits medium priority for most organizations but high priority for those operating repeaters in untrusted environments or as core infrastructure. The combination of unauthenticated remote access, achievable denial of service, and theoretical code execution paths justifies prompt patching. However, the bounded overflow and lack of confirmed active exploitation in the wild (KEV status: not yet added) reduce the immediate threat compared to critical or high-severity flaws. Prioritize repeaters exposed to the internet or connected to high-value networks; internal repeaters in isolated environments can be addressed in standard patching cycles.

Risk score, explained

The CVSS 3.1 score of 5.3 (MEDIUM, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L) captures several factors: network-accessible attack vector with low complexity and no privileges required drive severity upward; however, the impact is primarily availability (denial of service) rather than confidentiality or integrity. The bounded nature of the overflow—capped at ~150 KB—prevents the catastrophic heap corruption or arbitrary code execution that would elevate this to HIGH or CRITICAL. The score appropriately reflects a real but limited threat that should not be ignored but can be managed through standard patching procedures and access controls.

Frequently asked questions

Can this vulnerability be exploited without sending data to the repeater HTTP port?

No. The vulnerability is specific to the HTTP request logging path in the repeater's web management interface. Standard VNC traffic on the VNC port (typically 5900+) does not trigger this code path. An attacker must be able to send HTTP requests to the repeater's HTTP management port, usually port 80, 8000, or a custom port configured during setup.

What is the difference between the bounded overflow in this case and unlimited buffer overflows?

This overflow is limited by the HTTP receive buffer size (approximately 153 KB), which is well below the maximum value of an integer on 32-bit systems. This means the integer overflow wraps to a smaller value, but the attacker's input is still capped. Attackers cannot overflow with arbitrarily large data; this constraint significantly reduces the severity of heap exploitation compared to unbounded overflows. However, even bounded overflows can corrupt heap metadata and cause denial of service.

Is there a workaround if I cannot patch immediately?

Yes. Implement network-level access controls to restrict which systems can connect to the repeater's HTTP management port. Use a firewall to allow HTTP connections only from specific administrative subnets or jump hosts. Monitor the repeater logs for crashes or anomalies, and plan to restart the service periodically if degradation is observed. These measures reduce exposure while you prepare and test a patched deployment.

Does this affect VNC client or server applications, or only the repeater?

This vulnerability is specific to the UltraVNC repeater component, which acts as an intermediary forwarding VNC connections between clients and servers. VNC clients and servers are not affected. However, any organization relying on an unpatched repeater for remote access should treat this as an infrastructure vulnerability that could disrupt service for all downstream users.

This analysis is provided for informational and defensive security purposes. The details herein are derived from the published CVE record and vendor disclosures as of the date of analysis. Readers should verify patch availability and version numbers directly with the official UltraVNC project before deployment. Exploitation of this vulnerability may be illegal in jurisdictions without explicit authorization; use this information only to protect systems you own or are authorized to test. SEC.co makes no warranty regarding the completeness or accuracy of this intelligence and recommends independent validation of all findings. Always test patches in non-production environments prior to enterprise deployment. Source: NVD (public-domain), retrieved 2026-08-09. Analysis generated by SEC.co (claude-haiku-4-5).