LOW 3.7

CVE-2026-44042: UltraVNC Repeater Off-by-One Buffer Boundary Flaw

UltraVNC Repeater versions up to 1.8.2.2 contain a boundary-checking flaw in the Base64 decoder used to process HTTP Basic authentication credentials. The vulnerability stems from an off-by-one error in the validation logic—the code checks whether decoded output will fit using a strict greater-than (>) comparison instead of greater-than-or-equal (>=). Under current HTTP request constraints, this does not cause exploitable overflow because the Authorization header size is naturally limited; however, the defective check creates a latent condition where a single byte could be written past the intended 1024-byte stack buffer boundary if buffering assumptions change. This is a low-severity finding with limited practical impact in current deployments.

Source data · NVD / CISA · public domain

CVSS
3.1 · 3.7 LOW · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Weaknesses (CWE)
CWE-193
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 off-by-one error in the Base64 decode helper used for HTTP Basic authentication. In repeater/webgui/webutils.c:817, the wi_uudecode() function checks whether the input length exceeds the output buffer with a strict greater-than comparison (>), while the correct check should be greater-than-or-equal (>=). When strlen(authdata) equals sizeof(decode), the decoded output length (approximately 3/4 of input) does not overflow the buffer in current practice because the outer HTTP request bounds constrain the Authorization header. However, the defective check leaves a latent off-by-one condition that could become exploitable if the buffering constraints change. The current risk is limited to a one-byte write at the boundary of a 1024-byte stack buffer under constrained conditions.

3 reference(s) · View on NVD →

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

Technical summary

The vulnerability exists in repeater/webgui/webutils.c at line 817 within the wi_uudecode() function. When validating Base64-decoded HTTP Basic authentication data, the function compares input length against the output buffer size using a greater-than operator. The Base64 decoding process produces output approximately 3/4 the size of the input, so the check is mathematically loose by one condition: when strlen(authdata) exactly equals sizeof(decode), the decoded result fits nominally, but the comparison logic does not account for the equals case. The practical constraint is that HTTP Authorization headers are bounded by standard HTTP request limits, preventing the buffer from receiving enough input to trigger overflow. The CWE-193 classification (off-by-one error) is appropriate. If future code changes relax the HTTP-level constraints or if the buffer is reused in different contexts, this condition could become exploitable.

Business impact

The immediate business risk is minimal. The vulnerability cannot be reliably triggered under normal HTTP request processing, and no privilege escalation or data confidentiality compromise is possible. A potential denial-of-service via repeater crash is theoretically possible if an attacker crafted an Authorization header at the exact boundary condition, but this is difficult and unreliable. Organizations running UltraVNC Repeater should treat this as a code-quality issue requiring eventual remediation rather than an urgent incident response. The main concern is architectural: any system relying on Repeater for critical remote desktop connectivity should plan to update once patched versions are available.

Affected systems

UltraVNC Repeater through version 1.8.2.2 is affected. The repeater component is typically deployed as a network relay for VNC connections, often in corporate remote support and desktop-as-a-service environments. Systems where the Repeater is exposed to untrusted networks carry slightly higher risk. The vulnerability affects the HTTP-based web GUI authentication path, so Repeater deployments using only VNC protocol (without HTTP GUI access) face minimal exposure.

Exploitability

Exploitability is low and impractical under current constraints. An attacker would need network access to the Repeater's HTTP service and would need to craft a malformed Authorization header at a precise boundary—a one-byte overflow of a stack buffer during Base64 decoding. The HTTP protocol itself enforces request size limits that prevent the necessary input length from reaching the decoder. CVSS 3.1 score of 3.7 (LOW severity) reflects this: only availability impact is possible, attack complexity is high, and no user interaction is required. The vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, and no public exploit code is known.

Remediation

Update UltraVNC Repeater to a version that corrects the boundary check in wi_uudecode(). Verify with the vendor that the patched release addresses the greater-than-or-equal comparison fix. Until patched, mitigate by restricting network access to the Repeater's HTTP management interface using firewall rules or network segmentation—limit access to trusted administrative networks only. Do not expose the Repeater's web GUI to the public internet.

Patch guidance

Monitor the UVNC project repository and official releases for a version newer than 1.8.2.2 that documents the fix. When a patched version becomes available, test it in a non-production environment before deployment. Standard change-control procedures apply. Because the vulnerability requires both network access and precise boundary conditions to be remotely exploitable, patching can be scheduled in normal maintenance windows rather than treated as emergency. Verify the patch release notes explicitly mention correction of the off-by-one condition in Base64 decoding.

Detection guidance

Monitor HTTP request logs to the Repeater service for Authorization headers with unusual length or encoding patterns near the buffer boundary size. Intrusion detection systems may flag attempts to send Authorization headers deliberately crafted at maximum length with malformed Base64. Runtime stack canaries and address-space layout randomization (ASLR) on the Repeater host provide defense-in-depth against stack corruption. Endpoint detection and response (EDR) tools should flag any unexpected crashes or memory violations in the repeater process. Network-based detection is difficult because the attack surface is constrained by HTTP request processing.

Why prioritize this

This vulnerability merits a LOW priority in patching schedules due to its constrained exploitability, low CVSS score, and absence from active exploitation lists. However, it should not be ignored indefinitely: the latent nature of the flaw means future code changes could increase risk, and organizations should apply patches during normal maintenance cycles. Prioritize systems where the Repeater is accessible from less-trusted networks or where it is part of critical remote-access infrastructure.

Risk score, explained

CVSS 3.1 score 3.7 (LOW) reflects: Network-based attack vector (AV:N), High attack complexity due to HTTP request constraints (AC:H), no privileges required (PR:N), no user interaction needed (UI:N), unchanged scope (S:U), zero confidentiality or integrity impact (C:N/I:N), and low availability impact (A:L). The score appropriately captures that while a theoretical flaw exists, practical exploitation is severely limited by buffering constraints outside the vulnerable function.

Frequently asked questions

Can this vulnerability be exploited to read sensitive data or gain remote code execution?

No. The vulnerability is limited to a potential one-byte write on a stack buffer under highly constrained conditions. It cannot be reliably turned into data exfiltration or code execution. The CVSS vector shows zero impact to confidentiality and integrity; only availability is at risk and only as a denial-of-service crash.

Does this affect VNC clients, or only the Repeater server?

Only UltraVNC Repeater is affected. The flaw is in the repeater's HTTP-based web GUI authentication decoder. Standard VNC client software is not vulnerable. Organizations using the Repeater purely as a protocol relay without enabling or exposing the HTTP interface face minimal risk.

What should I do if I cannot update immediately?

Restrict network access to the Repeater's HTTP management port (typically port 80 or 443) using firewall rules. Allow connections only from trusted administrative networks. This eliminates the attack surface because the vulnerability requires network access to the HTTP interface. Patching can then be scheduled during normal maintenance.

Why is this a 'latent' vulnerability if the current conditions don't cause overflow?

The boundary check is mathematically incorrect (uses > instead of >=). Under current HTTP constraints, the input never reaches the size that would trigger the boundary condition, so it does not overflow today. However, if future code refactoring removes those HTTP-level constraints, or if the function is reused elsewhere, the latent flaw would become exploitable. Fixing the check now prevents that future risk.

This analysis is provided for informational and educational purposes. Vulnerability details, exploitability, and patch availability are subject to change. Organizations should verify patch availability and compatibility with their specific UltraVNC Repeater deployments by consulting official vendor advisories. This document does not constitute security advice for any particular system and should not replace professional security assessment. No proof-of-concept code or detailed exploitation techniques are provided. Always follow responsible disclosure and vendor guidance when testing or deploying security fixes. Source: NVD (public-domain), retrieved 2026-08-09. Analysis generated by SEC.co (claude-haiku-4-5).