HIGH 8.3

CVE-2026-57268: GeoWebPlayer Index Out-of-Bounds Code Execution Vulnerability

GeoWebPlayer is a browser plugin used by GeoVision surveillance systems (GV-VMS, GV-Cloud, and related products) to enhance web interface functionality via a local WebSocket server. The plugin fails to validate an 'index' parameter in the `saveVideo` command, allowing an attacker on the local network to access memory regions outside intended array boundaries. By crafting a malicious WebSocket message with an out-of-bounds index, an attacker can read or manipulate critical program state, potentially executing arbitrary code on the system running GeoVision software.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.3 HIGH · CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Weaknesses (CWE)
CWE-129
Affected products
0 configuration(s)
Published / Modified
2026-07-02 / 2026-07-02

NVD description (verbatim)

GeoWebPlayer (also called "Web Plugin" in the GV-VMS documentation and "WS Player" for VMS-Cloud) is an addon that can be installed with various GeoVision software (GV-VMS, GV-Cloud, ...). It creates a websocket server that expands the capabilities of the various web-interfaces provided by the GeoVision software and may be necessary for them to function properly. The Websocket server can accept various commands coming from localhost. Many of the commands will take an `index` value that is then used to access various arrays to enter critical sections, perform various actions via function calls, etc. However the `index` value is usually not checked for valid range, and as such it can be used to access multiple arrays out-of-bound. ### saveVideo command index-out-of-bound When sending the `saveVideo` command, the `index` field is extracted from the websocket message [1]. Then without checking the range of the index, it is used to trigger a CriticalSection ([2]) and releases it [3]. The release function call ([3]) is executed using a function pointer which will be read out of bounds potentially leading to code execution: v6 = get_entry(a2, "index"); result = json_is_value_int(v6); if ( (_BYTE)result ) { v8 = get_entry(a2, "index"); index = json_value_to_int(&v8->value); // [1] result = CCriticalSection::EnterCritSection(&this->crit_sections[index]); //[2] if ( result ) { if ( this->array_of_IPCams[index] ) { if ( this->array_of_IPCams[index]->field_20 ) do_PostMessageA((CViewer *)this->array_of_IPCams[index], 0x111u, 0x139Fu, v11); } return (*(int (__thiscall **)(CCriticalSection *))(this->crit_sections[index].vtbl + 20))(&this->crit_sections[index]); //[3] } }

2 reference(s) · View on NVD →

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

Technical summary

CVE-2026-57268 is an array index out-of-bounds vulnerability in GeoWebPlayer's WebSocket command handler. The vulnerability exists in the `saveVideo` command processing logic, where user-supplied index values are extracted from WebSocket messages but not validated against array bounds before use. The unchecked index is subsequently used to: (1) access a critical section array without bounds checking, and (2) invoke a virtual function pointer dereferenced from the same out-of-bounds memory location. This combination creates a path to arbitrary code execution, as the attacker can manipulate memory contents and control function pointer values. The vulnerability is classified as CWE-129 (Improper Validation of Array Index).

Business impact

Organizations deploying GeoVision surveillance infrastructure face potential compromise of their video management systems. An attacker gaining code execution on a GeoVision server can monitor, disable, or manipulate video feeds; access stored recordings; pivot to connected network infrastructure; or establish persistent backdoor access. For security-sensitive environments (airports, government facilities, critical infrastructure), this represents both a confidentiality and operational continuity risk. The local-network requirement (websocket origin) limits exposure to insider threats or network-adjacent attackers, but should not be underestimated in multi-tenant or guest-network environments.

Affected systems

GeoWebPlayer (also branded as 'Web Plugin' in GV-VMS documentation and 'WS Player' for VMS-Cloud) impacts all GeoVision software packages that bundle or rely on this addon, including GV-VMS, GV-Cloud, and related products. The vulnerability is triggered via the WebSocket server component, which is typically enabled when web-based remote access is configured. Specific version numbers and affected product SKUs should be verified against the vendor's official security advisory, as that information is essential for accurate asset inventory and patching decisions.

Exploitability

Exploitation requires network access to the GeoVision system's WebSocket server (typically running on localhost or a restricted network interface). An attacker must craft a specially malformed `saveVideo` WebSocket message with an out-of-bounds index value. While the CVSS vector indicates a network attack vector (AV:N), the practical exploit path is limited to localhost or local network clients unless the WebSocket server is exposed to untrusted networks. The attack does not require authentication or user interaction beyond the WebSocket connection itself, making it straightforward to execute if the attacker has network proximity to the GeoVision deployment. The High CVSS score (8.3) reflects the potential for arbitrary code execution with significant confidentiality, integrity, and availability impact.

Remediation

Immediate action should focus on: (1) installing vendor-supplied patches as they become available (verify against GeoVision's official advisory), (2) restricting network access to GeoVision WebSocket services to trusted networks only via firewall rules, and (3) disabling web-based remote access if it is not actively required. For organizations unable to patch immediately, implementing network segmentation to isolate GeoVision systems from guest or untrusted networks significantly reduces attack surface. Monitor GeoVision system logs for unexpected WebSocket connections or malformed command sequences.

Patch guidance

Contact GeoVision support or monitor their official security advisories for patch availability. When patches are released, they should be applied to all GeoVision installations, particularly those with web-facing or network-accessible deployments. Patches will likely be version-specific, so verify the correct release for your installed GeoVision product version before deployment. Test patches in a non-production environment to confirm compatibility with your surveillance workflows and integrations. Because GeoWebPlayer is often bundled with core surveillance software, patching may require a software update and potential service restart.

Detection guidance

Monitor network traffic for WebSocket connections to GeoVision services, particularly from unexpected or untrusted sources. Examine GeoVision application logs for unusual `saveVideo` command patterns, malformed JSON payloads, or index values that fall significantly outside expected ranges (e.g., index values in the thousands when only dozens of cameras are configured). Endpoint detection and response (EDR) tools should flag unexpected process execution or memory access patterns originating from the GeoVision application or WebSocket service. If available, enable verbose logging in GeoVision and the WebSocket server component to capture command details for forensic review.

Why prioritize this

This vulnerability merits high-priority patching because it enables unauthenticated remote code execution on a surveillance system with minimal attacker skill requirements. While exploit delivery requires local or adjacent network access (limiting blast radius compared to internet-facing exploits), successful compromise of a video management system can have severe operational and security consequences. The absence of any input validation on a critical parameter makes the attack highly reliable once the attacker reaches the network. Organizations with internet-connected GeoVision systems or those in security-sensitive environments should treat this as urgent.

Risk score, explained

The CVSS 3.1 score of 8.3 (HIGH) reflects: (1) network-adjacent attack vector due to WebSocket exposure, (2) high complexity for exploitation (attacker must craft valid malformed payloads and understand memory layout), (3) no authentication requirement once network access is achieved, (4) user interaction not required, (5) impact scope change (affects confidentiality, integrity, and availability of the system and potentially connected resources), and (6) direct path to code execution through function pointer manipulation. The score is appropriately high because successful exploitation grants complete system compromise; the moderate complexity and local-network requirement prevent it from reaching 'critical' range.

Frequently asked questions

Do I need to disable GeoVision entirely until a patch is available?

Not necessarily. If your GeoVision system is deployed on an isolated network segment with strict firewall rules limiting WebSocket access to trusted administrative hosts only, you can reduce risk significantly without complete shutdown. However, if the system is on a shared network or has any untrusted access, disabling web-based remote features until a patch is confirmed safe is prudent. Balance operational need against risk tolerance with your security team.

Will this vulnerability allow an attacker to access video recordings remotely over the internet?

Direct internet exploitation requires the WebSocket server to be exposed to the internet, which is not typical in secure deployments. However, if GeoVision is accessible via VPN, reverse proxy, or direct internet exposure, the risk increases significantly. An attacker who gains code execution on the GeoVision server can then exfiltrate recordings, disable cameras, or pivot to other systems. Always verify that your GeoVision WebSocket services are not inadvertently exposed to the internet.

What should I do if I discover a compromised GeoVision system?

Immediately isolate the affected system from the network to prevent lateral movement. Preserve logs and memory images for forensic analysis. Contact GeoVision support and your incident response team. Check for signs of persistence (unauthorized accounts, scheduled tasks, modified binaries). Verify the integrity of video recordings and assess whether attacker access could have altered or deleted evidence. Plan a clean rebuild with the latest patched version once patches are confirmed available.

Are there any workarounds if patching is delayed?

Primary workarounds include: (1) firewall rules restricting WebSocket port access to specific trusted IPs, (2) disabling remote web access if not essential, (3) running GeoVision on a segmented network without lateral access to critical systems, and (4) implementing network-based intrusion detection tuned to detect malformed WebSocket `saveVideo` commands. These are temporary measures and should not delay patching once fixes become available.

This analysis is based on the published CVE record as of July 2026. Specific patch versions, affected product SKUs, and vendor advisory details must be verified directly with GeoVision. The information herein is provided for informational purposes to support security decision-making and should not be construed as legal or compliance advice. Organizations should conduct their own risk assessment and consult with GeoVision support for definitive remediation guidance. SEC.co makes no warranty regarding the completeness or accuracy of derived technical details and disclaims liability for decisions made based on this analysis. Source: NVD (public-domain), retrieved 2026-08-10. Analysis generated by SEC.co (claude-haiku-4-5).