Description
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.
Published: 2026-07-01
Score: 3.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

UltraVNC repeater through 1.8.2.2 contains an off-by-one error in the Base64 decode helper used for HTTP Basic authentication. The wi_uudecode() function only checks if the input length exceeds the output buffer with a > comparison, rather than >=, which could allow a single-byte write past the boundary of a 1024-byte stack buffer when the Authorization header length matches the buffer size. This flaw does not currently lead to a reliable overflow due to existing HTTP request size limits, but the latent condition may become exploitable if those constraints are relaxed. The vulnerability could cause memory corruption or a denial-of-service, but it does not provide an immediate remote code execution path. This weakness is identified as CWE-193.

Affected Systems

The affected product is the UltraVNC repeater, as distributed by uvnc:UltraVNC, in all releases up to and including version 1.8.2.2. The security issue resides in the repeater’s webgui/webutils.c file used by the web interface.

Risk and Exploitability

The CVSS score is 3.7, indicating a low severity. EPSS is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting current exploitation likelihood is very low. Attackers would need to supply a crafted Authorization header that triggers the boundary check, which is unlikely to succeed on its own because the only affected write is one byte and existing request size limits constrain the input. Unless the attacker can modify the repeater’s input handling or increase the header size, no known exploitation mechanism exists. Consequently, the risk for an organization using a vulnerable UltraVNC repeater is limited to a potential memory-corruption–driven stability issue, and no immediate exploitation has been reported.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Verify the UltraVNC repeater version and plan an upgrade to a release that fixes the base64 decode boundary check or newer than 1.8.2.2.
  • If upgrading is not possible, disable HTTP Basic authentication or replace the repeater with an alternative authentication mechanism that does not use the vulnerable decoder.
  • Implement network controls to limit the size of HTTP Authorization headers to values below the 1024-byte buffer threshold and monitor for any anomalies.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 09 Jul 2026 05:30:00 +0000


Wed, 01 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 01 Jul 2026 13:45:00 +0000

Type Values Removed Values Added
First Time appeared Uvnc
Uvnc ultravnc
Vendors & Products Uvnc
Uvnc ultravnc

Wed, 01 Jul 2026 05:00:00 +0000

Type Values Removed Values Added
Description 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.
Title UltraVNC repeater wi_uudecode off-by-one in base64 decode boundary check
Weaknesses CWE-193
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: securin

Published:

Updated: 2026-07-09T04:36:12.685Z

Reserved: 2026-05-05T03:40:37.003Z

Link: CVE-2026-44042

cve-icon Vulnrichment

Updated: 2026-07-01T13:09:05.728Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-01T13:30:15Z

Weaknesses